- 論壇徽章:
- 1
|
又折騰了一天,才發(fā)現(xiàn)使用latin1作為連接字符集是兼容性最好的
RO客戶端給出來(lái)的名稱是GBK的,而我的系統(tǒng)是UTF8,而且我還選擇了UTF8作為了數(shù)據(jù)庫(kù)連接的字符集。當(dāng)我忙活了老半天去想辦法自己轉(zhuǎn)化字符串到utf8之后,卻發(fā)現(xiàn)utf8的字符也不能正確的存取。 恍然間,突然想試試看latin1連接,就象其他人那樣,從此發(fā)現(xiàn)亂碼消失了。
一天阿!
mysql_options(real_conn, MYSQL_SET_CHARSET_NAME, "latin1");
mysql_query(real_conn, "INSERT INTO `char` (`char_id`, `account_id`, `char_num`, `name`, `zeny`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`) VALUES ('1', '1', '1', '天', '1', '1', '1', '1', '1', '1', '1', '1', '1','1', '1','1', '1', 'a', '1', '1', 'b', '1', '1')");
mysql_query(real_conn, "select * from `char`");
res = mysql_store_result(real_conn);
long row_num = mysql_affected_rows(real_conn);
long col_num = mysql_field_count(real_conn);
printf("row:%lu col:%lu\n", (unsigned long)row_num, (unsigned long)col_num);
for(int i = 0; i row_num; ++i)
{
MYSQL_ROW row_data = mysql_fetch_row(res);
for(int j = 0; j col_num; ++j)
printf("%s\t", row_data[j]);
printf("\n");
}
mysql_free_result(res);
mysql_close(real_conn);
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u2/84408/showart_1904183.html |
|