Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Кодировка русских букв при отправке методом post

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Кодировка русских букв при отправке методом post
Имя
Сообщение << Старые топики   Новые топики >>
Кодировка русских букв при отправке методом post - 2009-03-15 04:23:45.446666   
REZER

Сообщений: 19
Оценки: 0
Присоединился: 2008-03-07 23:43:04.470000
Вообщем всё понятно из названия темы. Сделал поиск на php, работает через post (навигация через GET). Русские символы конвертировал так:

$story = iconv("UTF-8","windows-1251", $_REQUEST['story']);
2 дня назад всё работало. Сейчас блин почему то когда я ввожу русские буквы, то говорит что запрос менее чем 4 символа, а в строке поиска вообще пусто. Когда включаю ajax, то данная функция работает нормально и поиск ищет что надо. Если убрать эту функцию, то всё норм работает на денвере. А на хосте проблемы с кодировкой. Хотел узнать в какой кодировке передаются символы при методе POST и GET.
Post #: 1
RE: Кодировка русских букв при отправке методом post - 2009-03-15 04:31:22.906666   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
в какой выставишь, в такой и передаются

код для автоматического определения кодировки:

&lt;?php $q = 'вася РїСЂСЏРЅРёРєРѕРІ'; $s = mb_detect_encoding($q);//Определяем кодировку $q = iconv($s, 'CP1251//TRANSLIT', $q);//Декодируем echo $s . "\r\n"; echo $q . "\r\n"; ?&gt;
Post #: 2
RE: Кодировка русских букв при отправке методом post - 2009-03-15 04:40:41.680000   
REZER

Сообщений: 19
Оценки: 0
Присоединился: 2008-03-07 23:43:04.470000
блин, а если такой функции нету

Fatal error: Call to undefined function mb_detect_encoding()
Можно как нибудь ещё узнать..?
Post #: 3
RE: Кодировка русских букв при отправке методом post - 2009-03-15 04:54:55.283333   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
mbstring с php 4.0.6 поддерживается, просто подключаемый модуль, сделай так:

раскоментируй в php.ini следующую строчку (или добавь, если её нет):

extension=php_mbstring.dll

при условии, что у тебя php минимум такой версии

PS: Когда лезешь сюда http://us2.php.net/mb_detect_encoding

всегда смотри на это: (PHP 4 >= 4.0.6, PHP 5)

ЗЫЖ Раскоментировать, значит удалить ";" в начале строки

ЗЗЫЫЖЖ ну и

extension=php_iconv.dll

заодно раскоментируй
Post #: 4
RE: Кодировка русских букв при отправке методом post - 2009-03-15 06:24:54.546666   
REZER

Сообщений: 19
Оценки: 0
Присоединился: 2008-03-07 23:43:04.470000
Да ну, чёто как-то стрёмноватенько этот денвер работает. Ставил эти функции, всё равно не работало, функция не найдена. Я со психу вообще всю папку удалил, а сайт всё равно работает. Вообщем на хосте всё работает, спасибо за помощь. 
Post #: 5
RE: Кодировка русских букв при отправке методом post - 2009-03-15 10:54:26.196666   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
а ты не пробовал денвер перезапускать, когда что-то меняешь?
Post #: 6
RE: Кодировка русских букв при отправке методом post - 2009-03-15 11:03:41.723333   
REZER

Сообщений: 19
Оценки: 0
Присоединился: 2008-03-07 23:43:04.470000
перезапускал естественно, только не могу понять почему он всё равно работал когда папки php5 не было.А функцию запустил, оказалось надо было библиотеку скачать.
Post #: 7
RE: Кодировка русских букв при отправке методом post - 2009-03-15 22:15:18.453333   
azimzaim

Сообщений: 320
Оценки: 0
Присоединился: 2009-01-04 22:14:32.760000
Информация из формы запроса при передаче методом POST и GET передается в той кодировке, в которой находиться сама страница. Но и тут могут быть баги. Даже если у вас в хеде стоит <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">, это не означает, что страница будет в UTF-8 кодировке. Я с этой мулькой имел уже кучу проблем. В апече, особенно если он на данвере есть такая фигня, как default-charset, которая меняет на указанную текущую кодировку, даже если указана противоположная.
Post #: 8
RE: Кодировка русских букв при отправке методом post - 2009-03-16 00:46:28.790000   
magistr_bender

Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
для решения данной проблеммы лучше всего использовать header('Content-type: text/html; charset=UTF-8\r\n');
Post #: 9
RE: Кодировка русских букв при отправке методом post - 2009-03-16 02:55:39.080000   
REZER

Сообщений: 19
Оценки: 0
Присоединился: 2008-03-07 23:43:04.470000
quote:

для решения данной проблеммы лучше всего использовать header('Content-type: text/html; charset=UTF-8\r\n');


Мне она не совсем подходит, ей я пользуюсь в xajax. А здесь я пользуюсь функцией iconv(); для конвертации, но нужно было знать кодировку символов. Функция mb_detect_encoding() вроде хорошо работает с определением кодировки. Ещё раз спасибо Pashkel'е.
Post #: 10
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Кодировка русских букв при отправке методом post







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.