|
|
|
VC++, MySQL и кодировки
|
|||
|---|---|---|---|
|
#18+
Есть база данных на MySQL, и программа на VC++ 7.1 которая коннектится к серверу базы и получает данные: { MYSQL mysql; MYSQL_RES *res; MYSQL_ROW row; mysql_init(&mysql); if (!mysql_real_connect(&mysql,"192.168.0.49","root","password", "officemt9",0,NULL,0)) { AfxMessageBox("Не могу приконектится к серверу"); exit(1); } //AfxMessageBox("Vse OK"); mysql_query(&mysql,"SET NAMES cp1251;"); mysql_query(&mysql,"SELECT * from doctora"); res=mysql_store_result(&mysql); const char *GGG; GGG = mysql_character_set_name(&mysql);//Возвращает все время 'latin1' CMag.InsertItem(1,_T(GGG)); int i=0; while((row=mysql_fetch_row(res))){ for(i=0;i<mysql_num_fields(res);i++) CMag.InsertItem(i+1,_T(row)); } } База создана в кодировке сp1251. В результате работы программы кирилица отображается крякозябликами. При вызове или ьез нее mysql_query(&mysql,"SET NAMES cp1251;"); //Или ср866 Инструкция GGG = mysql_character_set_name(&mysql) Все время возвращает 'latin1'. Но крякозяблики изменяются. В файле my.ini прописаны строки [mysql] default-character-set=cp1251 [client] default-character-set=cp1251 [mysqld] port=3306 default-character-set=cp1251 character-set-server=cp1251 collation-server=cp1251_general_ci init-connect="SET NAMES cp1251" skip-character-set-client-handshake При вызове из коммандной строки mysql, кириллица отображается нормально, а из программы нет. Посоветуйте пожалуйста как нужно сделать чтобы отображалась кириллица из программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 13:32 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=336&tid=2030544]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
7ms |
get forum data: |
4ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 287ms |

| 0 / 0 |
