URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5484
[ Назад ]

Исходное сообщение
"MySQL, C API и кодировка"

Отправлено TLS , 07-Июн-06 18:41 
Ещё одна напасть:
В Visual Studio пишу код, который потом заливаю на FreeBSD-машину, там компилю и запускаю. Этот код, в частности, кладет данные в MySQL. Часть из них - строковые данные прямо из кода (прописаны явно в SQL-выражениях).

И именно эти данные коряво отображаются потом при просмотре БД (через shell или phpMyAdmin - не важно). Кодировка БД - UTF8, и хочется её оставить.
Что необходимо добавить в код, чтобы он корректно клал данные в базу?
CONVERT('string' USING ustf8) не помог.

Спасибо!


Содержание

Сообщения в этом обсуждении
"небольшой update"
Отправлено TLS , 08-Июн-06 13:07 
Сейчас разобрался - строки коцаются не в случае с явным указанием строки в SQL-выражении, а при использовании mysql_stmt_ функций. Т.е. если заливать через mysql_query, всё отображается корректно. Если через mysql_stmt_execute(), то портится строка.

Ни у кго идей нет, что делается со строками в Prepared Statements API?


"небольшой update"
Отправлено cherep , 09-Июн-06 10:13 
>Сейчас разобрался - строки коцаются не в случае с явным указанием строки
>в SQL-выражении, а при использовании mysql_stmt_ функций. Т.е. если заливать через
>mysql_query, всё отображается корректно. Если через mysql_stmt_execute(), то портится строка.
>
>Ни у кго идей нет, что делается со строками в Prepared Statements
>API?


fprintf(fp_great_table,"SET CHARACTER SET koi8r ;\n");
может это тебе поможет


"небольшой update"
Отправлено TLS , 09-Июн-06 10:54 
>fprintf(fp_great_table,"SET CHARACTER SET koi8r ;\n");
>может это тебе поможет

А что за файл подразумевается под fp_great_table?
Плюс вряд ли это связано с русскими кодировками, т.к. коцаются и латинские строки тоже...


"небольшой update"
Отправлено cherep , 09-Июн-06 11:34 
>>fprintf(fp_great_table,"SET CHARACTER SET koi8r ;\n");
>>может это тебе поможет
>
>А что за файл подразумевается под fp_great_table?
>Плюс вряд ли это связано с русскими кодировками, т.к. коцаются и латинские
>строки тоже...


Сори тебе нужно перед всеми запросами вставить SET CHARACTER SET koi8r ;
ну или utf8