Спустя 7 минут, 39 секунд (10.02.2011 - 13:06) DedMorozzz написал(а):
юзай mb_* при утф8. Т.е. при много байтных кодировках.
Спустя 2 минуты, 59 секунд (10.02.2011 - 13:09) Snus написал(а):
DedMorozzz
Та не :) тут не в этом дело. Если я делаю отдельный скрипт типа
То все работает как надо, а вот в моем скрипте иногда выдает такие знаки. Хотелось бы знать природу откуда они. А уж проблему сам решу ;)
Та не :) тут не в этом дело. Если я делаю отдельный скрипт типа
$string = 'краткое наименование (для документов)';
echo substr($string, 0, 30);
То все работает как надо, а вот в моем скрипте иногда выдает такие знаки. Хотелось бы знать природу откуда они. А уж проблему сам решу ;)
Спустя 3 минуты, 43 секунды (10.02.2011 - 13:13) DedMorozzz написал(а):
Snus, ага и выдаёт твой скрипт "краткое наимено". При кодировек утф-8. Согласись, чуток менее 30 символов. Юзай mb_
Спустя 52 секунды (10.02.2011 - 13:14) linker написал(а):
Для UTF-8 существует расширение mbstring. Сделай нечетное число
echo substr($string, 0, 29);и получишь свой непонятный символ в конце.
Спустя 7 минут, 30 секунд (10.02.2011 - 13:21) Snus написал(а):
Вообще странное поведение заметил.
Вот скрипт
Вот вывод
Пересчитайте кол-во символов в каждой строке - показатели врут :)
Вот скрипт
<?php
$string = 'краткое наименование (для документов)';
$string2 = mb_substr($string, 0, 30);
echo '<p>'.$string.' ('.mb_strlen($string).')</p>';
echo '<p>'.$string2.' ('.mb_strlen($string2).')</p>';
?>
Вот вывод
краткое наименование (для документов) (69)
краткое наимено� (30)
Пересчитайте кол-во символов в каждой строке - показатели врут :)
Спустя 1 минута, 32 секунды (10.02.2011 - 13:23) DedMorozzz написал(а):
А кодировку указать?
В мане же пишутся все параметры. Не просто так они!
В мане же пишутся все параметры. Не просто так они!
$string2 = mb_substr($string, 0, 30,'utf-8');
mb_strlen($string, 'utf-8');
Спустя 1 минута, 22 секунды (10.02.2011 - 13:24) Snus написал(а):
DedMorozzz
Баааалин. Тебе плюс, мне минус. Забыл указать utf8 ))
Баааалин. Тебе плюс, мне минус. Забыл указать utf8 ))
Спустя 41 секунда (10.02.2011 - 13:25) DedMorozzz написал(а):
Цитата (glock18) |
Не работает код? Берешь мануал, садишься за этот код, проходишь по каждой строчке и пытаешься понять зачем она и что делает. Если находишь функцию, которую ты знаешь не с точностью до каждого параметра и поведения, то идешь в мануал и читаешь про нее. Потом осознаешь что она такое и зачем там. Вот так надо учить php, а не просто копировать примеры из примеров в примеры, в надежде, что эти примеры потом будут работать. |
Спустя 1 минута, 52 секунды (10.02.2011 - 13:27) Snus написал(а):
DedMorozzz
Смею заметить, что стадию "учу php" уже прошел лет 5 назад. Людям свойственно ошибаться, вот и все
Смею заметить, что стадию "учу php" уже прошел лет 5 назад. Людям свойственно ошибаться, вот и все
Спустя 1 минута, 29 секунд (10.02.2011 - 13:28) DedMorozzz написал(а):
"Из песни слов не выкинешь". Это полностью его подпись
Спустя 15 часов, 14 минут, 38 секунд (11.02.2011 - 04:43) andyp написал(а):
кроме mb есть еще iconv
Спустя 1 месяц, 17 дней, 17 часов, 50 минут, 4 секунды (28.03.2011 - 21:33) alex12060 написал(а):
А чтобы не указывать последний параметр, можно просто указать
mb_internal_encoding('UTF-8');