Кодировка русских букв при отправке методом post
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Кодировка русских букв при отправке методом 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.
|
|
|
RE: Кодировка русских букв при отправке методом post - 2009-03-15 04:31:22.906666
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
в какой выставишь, в такой и передаются код для автоматического определения кодировки:
<?php
$q = 'вася пряников';
$s = mb_detect_encoding($q);//Определяем кодировку
$q = iconv($s, 'CP1251//TRANSLIT', $q);//Декодируем
echo $s . "\r\n";
echo $q . "\r\n";
?>
|
|
|
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() Можно как нибудь ещё узнать..?
|
|
|
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 заодно раскоментируй
|
|
|
RE: Кодировка русских букв при отправке методом post - 2009-03-15 06:24:54.546666
|
|
|
REZER
Сообщений: 19
Оценки: 0
Присоединился: 2008-03-07 23:43:04.470000
|
Да ну, чёто как-то стрёмноватенько этот денвер работает. Ставил эти функции, всё равно не работало, функция не найдена. Я со психу вообще всю папку удалил, а сайт всё равно работает. Вообщем на хосте всё работает, спасибо за помощь.
|
|
|
RE: Кодировка русских букв при отправке методом post - 2009-03-15 10:54:26.196666
|
|
|
Parano1d
Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
|
а ты не пробовал денвер перезапускать, когда что-то меняешь?
|
|
|
RE: Кодировка русских букв при отправке методом post - 2009-03-15 11:03:41.723333
|
|
|
REZER
Сообщений: 19
Оценки: 0
Присоединился: 2008-03-07 23:43:04.470000
|
перезапускал естественно, только не могу понять почему он всё равно работал когда папки php5 не было.А функцию запустил, оказалось надо было библиотеку скачать.
|
|
|
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, которая меняет на указанную текущую кодировку, даже если указана противоположная.
|
|
|
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');
|
|
|
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'е.
|
|
|
|
|