Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Работа с многобайтовыми строками
Форумы портала PHP.SU » » Вопросы новичков » Работа с многобайтовыми строками

Страниц (1): [1]
 

1. GoDr - 24 Августа, 2015 - 19:30:28 - перейти к сообщению
Вопрос наверное банальный, но всё же.
Когда-то проект был на win1251. В настоящий момент он полностью переведён на UTF8
В проекте остались функции для проверки и вызова функций в зависимости от кодировки.
Например, strlen или mb_strlen..

Ну и сам вопрос, есть ли смысл заменять strlen на mb_strlen (и подобные)? Результат то один
2. broshurkaplus - 24 Августа, 2015 - 23:00:36 - перейти к сообщению
так 1 русский символ в UTF8 вроде как 2 считается...
3. DelphinPRO - 25 Августа, 2015 - 00:54:59 - перейти к сообщению
можно включить перегрузку функций. учитывая, конечно, список перегружаемых функций
http://php.net/manual/ru/mbstring.overload.php
4. GoDr - 25 Августа, 2015 - 08:48:18 - перейти к сообщению
Что-то запутался..

Есть файл
PHP:
скопировать код в буфер обмена
  1. $str = 'Привет';
  2. echo strlen($str);
  3. echo '<hr>';
  4. echo mb_strlen($str);


Кодировка файл window-2151 - выдаёт 6 и 6
Кодировка файла utf-8 - выдаёт 12 и 12

меняем на


Кодировка файл window-2151 - выдаёт 6 и 3
Кодировка файла utf-8 - выдаёт 12 и 6

Это выдаёт 0


Так как настроить проект на нормальную работу?
Поможет ли установка просто
PHP:
скопировать код в буфер обмена

(Добавление)
DelphinPRO пишет:
можно включить перегрузку функций.
Да вот что-то установил и 4 и в 7, не особо помогло

 

Powered by ExBB FM 1.0 RC1