Показать сообщение отдельно
  #1 (permalink)  
Старый 05.11.2010, 18:56
Аватар для greatilya
Интернет-турист
Отправить личное сообщение для greatilya Посмотреть профиль Найти все сообщения от greatilya
 
Регистрация: 01.08.2008
Сообщений: 516

Проблема с кодировкой или strlen() не считает
Возникла такая загвоздка:
В переменной $a храниться значение "воды" (полученное из БД)
echo strlen($a);

Выведет на экран 5 ... а то и 6
Эту проблему решил так:
echo mb_strlen($a);

Выводит как положено 4.

Но тут возникла необходимость воспользоваться следующим:
Значения переменных: $s1="вхды" и $s2="воды"
echo similar_text($s1, $s2);

Выводит 6, а должно быть 3.
Примечание: $s1 и $s2 получены из БД.

PS, укажу максимум данных:
в коде прописано:
mb_internal_encoding('UTF-8');
setlocale(LC_ALL, 'ru_RU.UTF-8');

К БД подключаясь указываю такую кодировку: SET NAMES UTF8
В БД кодировка строк utf8_general_ci
Кодировка файла со скриптом UTF-8 (без BOM)
__________________
VPS от 175 рублей (есть скидки 15% писать в ПМ) Анализ рынка VPS серверов
Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не уверен.
Альберт Эйнштейн
Ответить с цитированием