使用c语言向mysql插入中文记录的问题 我在linux下面,使用c语言向mysql插入一条记录,该记录有两个字段使用了中文,插入后,在终端里面查看,发现插入的这条记录的两个中文字段没有显示,请问怎么解决。我在程序里面已经设置使用utf-8了。 mysql_set_character_set(sock, "utf8"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 mysql_set_character_set(sock, "gbk");或者单独调用"set names gbk" 谢谢你的回答,我把编码改为gbk之后,在数据库里面查看发现中文确实显示出来了,但是运行程序时在终端输出来却是乱码,跟使用utf8时的情形刚好相反,原先是在数据库里显示不出中文,终端显示正常,现在是终端显示乱码,数据库里面显示正常(我说的显示的数据都是通过程序插入的),请问这个得怎么办,另外谢谢@rucypli和@ACMAIN_CHM的回答 检查一下字符集设置。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspxMySQL 中文显示乱码 在数据库里查看,(用的是客户端工具),正常,很好。你的程序在终端里输出是乱码,是因为你终端里没有设置编码为gb2312或者gbk,估计你的终端默认是UTF8吧。在terminal里先将encoding设置为gbk,再运行程序看看。这应该是linux下的基本技能。 多谢版主的回答,我把终端的编码改为gbk之后,在终端的显示也正常了。但是我还是不明白,我之前服务器的编码是utf-8,传递给mysql_set_character_set()的字符集参数也是utf-8,那么客户端到服务器的连接所使用的编码也是utf-8,那在程序里面我向服务器端发送的语句也都是utf-8的,既然编码都一样,那为什么会有乱码呢,反而是使用gbk这个不一致的编码显示才正常? NetBeans无法连接MySQL 1个mysql数据库怎么在两台电脑上同时运行要互不干扰怎么实现? 无法读出mysql中的数据(急) C#编程,单步调试的时候从Mysql读取的数据存到myReader里,过一会就没了。 求一触发器 mysql的BLOB字段内容生成缩略图的问题 在postgres数据库中对表中的字段int型的,实现自动增长这个语句怎么写? 问个弱问题! 怎么用同一条sql语句中实现计算表中记录总数并用limit取出固定个数 linux下C编程插入MySQL表项出现奇怪问题 求SQL语句,急!!!!! 求差集语句
或者单独调用"set names gbk"
MySQL 中文显示乱码
你的程序在终端里输出是乱码,是因为你终端里没有设置编码为gb2312或者gbk,估计你的终端默认是UTF8吧。在terminal里先将encoding设置为gbk,再运行程序看看。这应该是linux下的基本技能。