前几天玩了一下mysql(安装包为mysql-essential-5.1.57-win32.zip),并用HeidiSQL_6.0做为客户端工具。我的mysql是以utf8做为默认字符集,INNODB做为默认引擎,测试发现发现:HeidiSQL对中文支持非常完美,但是mysql自带的“MySQL Command Line Client”却不是很好,需要设置才能支持中文。
“MySQL Command Line Client”中输入
mysql>set names 'gb2312'
即可.
在使用MySQL C API开发程序时,在开始执行查询之前(注:conn类型是MYSQL* ),先运行mysql_set_character_set(conn, "gb2312"),也可以解决查询结果中的中文显示乱码问题 ;但是如果mysql_query调用的查询字符串中用中文字符时,就要指定字符集,如:
#include
#include
int main(int argc,char* argv[])
{
MYSQL* conn=mysql_init(NULL);
mysql_real_connect(conn,"localhost", "root", "a", "sqltest", 3306, NULL, 0);
mysql_set_character_set(conn, "gb2312") ;
mysql_query(conn,"select * from mlib where info like _utf8'%兔年%';");//关键在_utf8
//...一些MySQL查询结果处理语句
mysql_close(conn);
return 0;
}
PS: MySQL5.1对UTF8的支持很好,对中文字符集gb2312也能完美支持——只要配置得当!而且MySQL5.1支持中文全文检索哦!!!