|
|
|
| В продолжении темы http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=71220.
Проблема следующая и опять с руссими символами.
При проверке данных полученных из формы, например, строка "Главная страница" совпадает с регулярным выражением:
'/^[\wА-Яа-я ._-]{1,128}$/'
|
, а при проверке данных полученных через Ajax это РВ уже не работает, но работает вот это:
'/^[\wА-Яа-я ._-]{1,128}/' // без метасимвола $
|
Данные предварительно пропускаются через ф-ю trim().
В чем тут загвоздка? | |
|
|
|
|
|
|
|
для: Adj
(21.01.2010 в 16:49)
| | данные полученные через аякс не заканчиваются одним из указанных смволов | |
|
|
|
|
|
|
|
для: GeorgeIV
(21.01.2010 в 19:00)
| | Других символов нет, по крайней мере видимых.
Если передается строка из латинских символов, то все нормально, первый шаблон срабатывает.
Аяксом, методом POST я передаю следующий запрос:
"go=section_edit&val=name&id="+ id +"&name="+ encodeURIComponent(text)
|
, где параметр text содержит строку, которую и необходимо сверить с шаблоном.
В заголовках запрос имеет вид:
go=section_edit&val=name&id=2&name=%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F%20%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
|
На домашнем ПК получаемую строку я преобразовывал из utf-8 в windows-1251. На хостинге же почему-то такое преобразование не нужно, $_POST['text'] уже содержит строку в кодировке windows-1251. Почему не знаю. | |
|
|
|
|
|
|
|
для: Adj
(21.01.2010 в 21:09)
| | Нет я ошибся
> ..., $_POST['text'] уже содержит строку в кодировке windows-1251.
Изначально $_POST['text'] в UTF-8, но при выводе ее в браузер, хотя сайт и в windows-1251 кодировке, строка отображается нормально, НЕ знаки вопроса. А вот после преобразования знаки вопроса появляются. | |
|
|
|
|
|
|
|
для: Adj
(21.01.2010 в 21:19)
| | Проблема решилась. Добавил "AddDefaultCharset windows-1251" в файл .htaccess.
PS: Это мой первый опыт переноса сайта на хостинг. | |
|
|
|