UTF-8 GET mysql

xInOrK

Новичок
UTF-8 GET mysql

Есть php скрипт в заголовке стоит чарсет UTF-8, скрипт принимает через GET текст на разных языках. Так вот проблема такая когда я делаю запрос в базу на вставку этого текста он туда не вставляется. На страницу выводил запрос в запросе всё нормально поидее как бы должен вставляться. Проверял через mb_detect_encoding($string, "auto"); кодировку, тоже всё правильно. Выводил текст на страницу там появляются кубики и разные непонятные символы хотя кодировка на странице стоит UTF-8, а когда открываешь сурс страницы при помоши Notepad-а то там текст понятный. В чём может быть проблема ?
А ещё поле куда вставляется текст в mysql чарсет стоит utf8_general_ci и тип поля TEXT.
 

xInOrK

Новичок
Да делал я уже всё просмотрел запрос то работает он вставляет данные кроме этого текста.

-~{}~ 13.05.06 19:16:

ADODB дебаг показывает:
(mysql): SET NAMES 'utf8'
--------------------------------------------------------------------------------
(mysql): INSERT INTO `sms_votes` VALUES('', 'asd', 'pwd', '1167', '࠽��孲 ���ꮬ ?堢 ӒԵo', NOW(), '')

вот так где каракули поле в базе остаётся абсолютно пустым!

-~{}~ 13.05.06 19:24:

Сурс страницы:
<hr>
(mysql): SET NAMES 'utf8' &nbsp; <code></code>
<hr>
(mysql): INSERT INTO `sms_votes` VALUES('', 'asd', 'pwd', '1167', 'а это коммент на русском языке в УТФuo', NOW(), '') &nbsp; <code></code>
<hr>
 

xInOrK

Новичок
Автор оригинала: Franzusow
GET не бываает в утф-8 и передается всегда в 7-Bit-Ascii
Реально огромное человеческое спасибо :)

А вот с русским языком проблема осталась походу.. он на странице каракулями :( Но зато в базу начал текст вставляться нормально и полностью...

-~{}~ 14.05.06 14:48:

$message=mb_convert_encoding($_GET['message'], "UTF-8", "ASCII");

почему русский текст становится непонятный ? ну помогите хоть ктонибудь ?
 

Franzusow

Новичок
обычно если в скриптах который ГЕТ посылает и который Гет принимает, а также скрипты которые содержимое выдают делают одинаковый
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
то обычно не каких проблем не возникает.
попробуй также фунции utf8_encode и utf8_decode
 

xInOrK

Новичок
стоит на странице
header("Content-Type: text/html; charset=utf-8");

когда принимаю текст вот это возвращает ASCII
echo mb_detect_encoding($_GET['message'], "auto");

поэтому делаю вот это
$message=mb_convert_encoding($_GET['message'], "UTF-8", "ASCII");

но после этого русский текст становится каракулями типа:
&#239;&#240;&#232;&#226;&#229;&#242; &#242;&#229;&#241;&#242; &#242;&#229;&#241;&#242;
 

Franzusow

Новичок
попробуй без mb_detect_encoding , mb_convert_encoding
и посмотри на твой техт на странице с
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 

xInOrK

Новичок
Не помогает текст остаётся на странице непонятным типа:
&#55930;&#56362;&#60204;&#23410; &#55328;&#55439;&#56433;&#43948; ?&#22562; &#1234;&#1343;???''?????

А вот в сурсе русский и англиский текст понятный, а некоторые символы эстонские непонятными.
 
Сверху