Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.11.2010, 17: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 серверов
Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не уверен.
Альберт Эйнштейн
Ответить с цитированием
  #2 (permalink)  
Старый 06.11.2010, 07:49
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,381

Работать с утф строками надо только через функции mb_ .
Но там есть аналоги не всем строковым функциям. Как например similar_text. Варианты:
1) поискать готовенькую реализацию этой функции
2) написать самому
3) для сравнения можно перекодировать в cp1251 функцией iconv и уже их сравнить через similar_text
Ответить с цитированием
  #3 (permalink)  
Старый 06.11.2010, 09:00
Аватар для greatilya
Интернет-турист
Отправить личное сообщение для greatilya Посмотреть профиль Найти все сообщения от greatilya
 
Регистрация: 01.08.2008
Сообщений: 516

micscr,
Спасибо!
__________________
VPS от 175 рублей (есть скидки 15% писать в ПМ) Анализ рынка VPS серверов
Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не уверен.
Альберт Эйнштейн
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с кодировкой при работе с СУБД Простодушный AJAX и COMET 2 29.10.2010 09:51
проблема с кодировкой nikolaich ExtJS 9 04.02.2010 12:30
проблема с кодировкой bushstas AJAX и COMET 7 02.10.2009 23:48
Проблема с кодировкой в скрипте автозаполнения Maratka AJAX и COMET 12 24.01.2009 11:31
Проблема с кодировкой magistr_bender Общие вопросы Javascript 2 07.09.2008 19:04