Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 11:46   #1
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
Вопрос strspn() php utf-8

Всегда использовал функцию strspn() для подсчета количества символов в переменной Все работало нормально Изменил кодировку на utf-8 и находящиеся в переменной 6 символов кирилицы после обработки функцией strspn() превращаются в 12 (латинские символы работают нормально)

$eee="abcdef";
$rrr=strspn($eee, $eee); $rrr=6;

$eee="абвгде";
$rrr=strspn($eee, $eee); $rrr=12;


Я так думаю это из-за кодировки Подскажите мне какую-нибудь другую функцию которая будет правильно подсчитывать символы в кодировке utf-8
gunsoy вне форума Ответить с цитированием
Старый 06.12.2011, 11:53   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Надо использовать mb_strlen.
Виталий Желтяков вне форума Ответить с цитированием
Старый 06.12.2011, 13:55   #3
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Спасибо за ответ
А можно пример посмотреть?
Пишу

$str_name=mb_strlen($_POST['name']);

Всплывает предупреждение

Fatal error: Call to undefined function mb_strlen() in D:\server\www\forum\enter.php on line 13

Искал в яндексе примеры функции Но нашел лишь синтаксис
gunsoy вне форума Ответить с цитированием
Старый 06.12.2011, 14:35   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Для работы этой функции нужно подключить расширение mbstring
psycho-coder вне форума Ответить с цитированием
Старый 08.12.2011, 09:46   #5
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Подскажите кто-нибудь как подключить расширение mbstring или киньте ссылку
Устал искать в интернете Ток на русском
gunsoy вне форума Ответить с цитированием
Старый 08.12.2011, 10:05   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Если речь идет о Windows, то подключение заключается в необходимости раскомментировать в php.ini строку:
extension=php_mbstring.dll
Само-собой, данная библиотека должна существовать в каталоге ext.
После перезагрузки Apache, проверь в phpinfo наличие данного расширения.
Andkorol вне форума Ответить с цитированием
Старый 08.12.2011, 10:57   #7
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,155
По умолчанию

или переводить строки с помощью iconv в windows-1251 и делать все как раньше
ADSoft вне форума Ответить с цитированием
Старый 08.12.2011, 13:27   #8
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Всем спасибо теперь все работает
gunsoy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовние Utf-16 <=> Utf-8 hard-t Общие вопросы C/C++ 1 26.08.2011 13:54
UTF 16 Federal Помощь студентам 5 29.12.2010 00:30
Ansi в UTF-8 и наоборот UTF-8 в Ansi Alar Работа с сетью в Delphi 3 09.12.2010 17:02
php перекодировка из utf-8 в windows-1251 world12_tk PHP 3 25.04.2010 22:55