Linux C编程向MySQL里插入中文数据乱码


Linux C编程向MySQL里插入中文数据乱码解决方案。

先看《Linux下MySQL的中文不能显示及sock链接错误问题解决》这篇文章

像上面这样更改后,在C程序里向数据库插入数据之前,应该加上这一句:

mysql(conn,"set names \'utf8\' ");

这样就不会产生乱码了。

character_set_client:客户端的字符集

character_set_results:结果字符集

character_set_connection:连接字符集

设置这三个系统参数的命令:set names ‘utf8’

这三个系统参数的作用:

信息输入路径: client--connection--server (数据传送方向从左到右)

信息输出路径: server--connection--results (数据传送方向从左到右)

故这几个系统参数的值须相同,不然以不同的编码方式传送数据,若编码方式不兼容,则容易造成乱码的问题。

相关内容