Что нового

Кодировка в работе с mysql

Olorin

Новичок
Сообщения
28
Репутация
0
Для подключения к базе использовал эти юдф
http://www.autoitscript.com/forum/topic/85617-mysql-udfs/
http://www.autoitscript.com/forum/topic/20814-mysql-udfs/
И везде проблемы с русской кодировкой. База и сервер настроены на utf-8
Если загружаю данные в базу наример так
Код:
_EzMySql_Query("INSERT INTO `items` (`name`, `url`, `desc`) VALUES ('Куку', 'gaz.com', 'Хохломской');")
То при просмотре базы в Phpmyadmin или navicat такая ерис - ÒåëåâèçîðÎÊ

Если забить данные в базу через Phpmyadmin или navicat, то в autoit идут вопросики.
Пробывал кодировать сначала _Encoding_ANSIToUTF8 и _Encoding_StringToUTF8 а потом грузить в базу получаються тоже иероглифы уже такого вида - Противогаз

В какую сторону копать, может кто знает, по гуглил и что-то ненашел чтобы у кого то проблемы были с кодировками или я что-то не то делаю.
Через ODBC не пробывал правда.
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
http://autoit-script.ru/index.php?topic=2073.msg17476#msg17476
База на utf8 проблем нет. В PhpMyAdmin 3.4.1 тоже отображается все нормально. :smile:
 
Автор
O

Olorin

Новичок
Сообщения
28
Репутация
0
Вспомнил где то подобное решал таким запросом SET NAMES 'cp1251'.

И тут сработало :laugh:

Правда не пойму почему надо прописать именно cp1251. Ведь база и сервак все в utf-8.
Но главное все заработало :IL_AutoIt_1:
Код:
_EzMySql_Query("SET NAMES 'cp1251'")
_EzMySql_Query("INSERT INTO `items` (`name`, `desc`) VALUES ('Имя autoit', 'Описание AutoIt')")
 

axlwor

Скриптер
Сообщения
657
Репутация
147
а строки программы в какой кодировке? ;)
 
Автор
O

Olorin

Новичок
Сообщения
28
Репутация
0
Конвертнул "строки" в Utf-8, все равно в pma козябра идет если SET NAMES 'utf-8'.
 

axlwor

Скриптер
Сообщения
657
Репутация
147
Я просто вспомнил что когда то работал с mysql c консоли, там тоже были проблемы с кодировками на разных машинах. Вот и подумал, что ты посылаешь строки и читаешь их под своей локалью, а это 1251
 
Автор
O

Olorin

Новичок
Сообщения
28
Репутация
0
Проблема оказалась не решенной, сразу почему то я не проверил, китайский язык.
Пытаюсь в мускуль отправить 你好, приходит ?? в mysql, а в Listview 你好.
Но потом из базы загружаются все теже вопросики.

P.S.
Может что-то в этом духе надо добавить:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
Методом перебора очень долго будет ((
 
Верх