|
|
|
| Скачал скрипт http://www.dhtmlgoodies.com/index.html?whichScript=ajax-dynamic-list
Работает, но только на английском. Пробовал добавить в бд русские названия - перестает скрипт работать.
Возможно, что и с кодировкой что-то (с аяксом пока не знаком, но он ведь только с UTF-8 работает?)
Может, кто сталкивался с этим и знает, как подточить для русских названий. | |
|
|
|
|
|
|
|
для: neadekvat
(07.08.2009 в 14:25)
| | Сделать везде кодировку utf-8. | |
|
|
|
|
|
|
|
для: Sergeich
(07.08.2009 в 14:31)
| | Таки пробовал.
А может, плохо пробовал..
В бд ведь тоже надо менять на ut8_general_ci ? | |
|
|
|
|
|
|
|
для: neadekvat
(07.08.2009 в 14:37)
| | Так, по новой создал бд, установил DEFAULT CHARSET=utf8
Теперь русские буквы вообще не распознаются. | |
|
|
|
|
|
|
|
для: neadekvat
(07.08.2009 в 14:48)
| | А саму страницу Вы в какой кодировке сохраняете? | |
|
|
|
|
|
|
|
для: Sergeich
(07.08.2009 в 14:54)
| | UTF-8
А из базы то мне в windows-1251 все равно приходит о.О | |
|
|
|
|
|
|
|
для: neadekvat
(07.08.2009 в 14:58)
| | А попробуйте вообще кодировку на базу данных не устанавливать. Пусть сервер базы данных установит ее по умолчанию. | |
|
|
|
|
|
|
|
для: Sergeich
(07.08.2009 в 15:25)
| | Он по дефолту поставил это: "CHARSET=cp1251"
В самом коде была такая строка
<?
$letters = preg_replace("/[^a-z0-9 ]/i","",$letters);
?>
|
соответственно все русские буквы она резала.
Я ее исправил на эту
<?
$letters = preg_replace("/[^а-яa-z0-9 ]/i","",$letters);
?>
|
Теперь "Россия" появляется единственной в списке, но появляется странным образом. На й, на ц, на в, на Р не появляется и тд. | |
|
|
|
|
|
|
|
для: neadekvat
(07.08.2009 в 17:07)
| |
<?
$letters = preg_replace("/[^а-яёa-z0-9 ]/iu","",$letters);
|
| |
|
|
|
|
|
|
|
для: Николай2357
(08.08.2009 в 22:29)
| | А что значит u?
И где-то я видел, что й тоже надо вносить дополнительно.
Ну да это вопросы для себя, код от этого рабочим не стал. | |
|
|
|
|
|
|
|
для: neadekvat
(08.08.2009 в 23:36)
| | >А что значит u?
Это модификатор для юникода
>И где-то я видел, что й тоже надо вносить дополнительно.
Не надо.
>Ну да это вопросы для себя, код от этого рабочим не стал.
Какой именно? И вообще интересно, для чего эта конструкция, почему нужно убивать знаки препинания допустим. Мне вот без них очень неуютно.
А для решения проблемы надо выставить кодировку соединения. Делается это так:
<?
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');
|
| |
|
|
|
|
|
|
|
для: Николай2357
(09.08.2009 в 08:40)
| | Если использовать
$letters = preg_replace("/[^а-яёa-z0-9 ]/iu","",$letters);
|
То скрипт не работает даже с английскими названиями.
Если убрать u в конце, то на русские буквы никак не реагирует, открывает весь список. Судя по всему, запрос в бд идет с LIKE '%' а не LIKE 'введенные_символы%'
То есть русские символы срезаются..где-то.
Уже везде установил utf8 | |
|
|
|
|
|
|
|
для: neadekvat
(09.08.2009 в 13:38)
| | >Если использовать...
>То скрипт не работает даже с английскими названиями.
Я вообще не понимаю где и зачем это использунтся. И уж тем более ничего про LIKE не упоминалось.
Вот я и спрашиваю еще раз, что именно не работает то? Эта строчка работает точно. | |
|
|
|
|
|
|
|
для: Николай2357
(09.08.2009 в 15:01)
| | Да ладно, спасибо за помощь. Я нашел другой подобный скрипт, который работает с русскими названиями. | |
|
|
|
|
|
|
|
для: Sergeich
(07.08.2009 в 15:25)
| | >А попробуйте вообще кодировку на базу данных не устанавливать. Пусть сервер базы данных установит ее по умолчанию.
и как в танке. | |
|
|
|
|
|
|
|
для: Trianon
(09.08.2009 в 00:49)
| | Я ответил:
"Он по дефолту поставил это: "CHARSET=cp1251""
Он - это должна быть она - база данных..с местоимениями проблема, но смысл понятен. | |
|
|
|
|
|
|
|
для: neadekvat
(09.08.2009 в 13:30)
| | база данных сама по себе ничего не ставит.
Сервер, насколько я знаю, тоже делает это в крайне редком случае (INIT-CONNECT) | |
|
|
|
|
|
|
|
для: Trianon
(09.08.2009 в 14:27)
| | Создавая базу, я не указал кодировку. Затем нажал "экспорт", и там было то, что я писал выше. | |
|
|
|