BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #7990同步于 2014/3/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

Linux下MySQL数据库插入汉字不能正常显示

lishenan2008
2014/3/6镜像同步12 回复
我在MySQL中用insert在表中插入数据记录,但是如果插入的数据中有汉字时就有warning,然后显示的时候就是问号 mysql> insert into children(fname,age) values("Jenny",21); Query OK, 1 row affected (0.02 sec) mysql> insert into children(fname,age) values("plum",23); Query OK, 1 row affected (0.00 sec) mysql> insert into children(fname,age) values("哈哈",23); Query OK, 1 row affected, 1 warning(0.00 sec) mysql> select childno,fname,age from children; +---------+-------+------+ | childno | fname | age | +---------+-------+------+ | 1 | Jenny | 21 | | 2 | plum | 23 | | 3 | ?? | 23 | +---------+-------+------+ 3 rows in set (0.00 sec) mysql> 好像发不了截图了。。。。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
doubleKO机器人#1 · 2014/3/8
请参照置顶提问,提供更详尽信息,方便别的同学帮你定位问题 另外置顶了一篇较早的关于中文乱码的文章,希望能帮到你 【 在 lishenan2008 的大作中提到: 】 : 我在MySQL中用insert在表中插入数据记录,但是如果插入的数据中有汉字时就有warning,然后显示的时候就是问号 : mysql> insert into children(fname,age) values("Jenny",21); : Query OK, 1 row affected (0.02 sec) : ...................
byr304225机器人#2 · 2014/3/9
看起来像是字段编码为ASCII什么的,改成utf8大概就可以了
lishenan2008机器人#3 · 2014/3/9
【 在 byr304225 的大作中提到: 】 : 看起来像是字段编码为ASCII什么的,改成utf8大概就可以了 我用alter database baseName character set utf8,改了之后还是不行
byr304225机器人#4 · 2014/3/9
我一般会把数据库备份一下,然后打开.sql文件,然后把每个表的编码都改成utf8 【 在 lishenan2008 的大作中提到: 】 : 我用alter database baseName character set utf8,改了之后还是不行
XD机器人#5 · 2014/3/9
【 在 lishenan2008 的大作中提到: 】 : 我在MySQL中用insert在表中插入数据记录,但是如果插入的数据中有汉字时就有warning,然后显示的时候就是问号 : mysql> insert into children(fname,age) values("Jenny",21); : Query OK, 1 row affected (0.02 sec) : ................... 前段时间碰到过,看看默认的client那个字符集吧~估计是和显示的不一样 数据量不大的话直接改吧~保证连接和显示的字符集一样就行
jstyla机器人#6 · 2014/3/9
三码合一了么?iconv转码。。。
zwan0518机器人#7 · 2014/3/10
数据库乱码一般都是编码不统一,需要客户端,服务器都需要编码统一,修改之后需要不需要重启忘记了
q397273499机器人#8 · 2014/3/10
注意编码问题。服务器编码,客户端编码,连接编码都要一致
fastfly机器人#9 · 2014/3/10
用alter用途不大,因为字段的编码可能还是没有改变。建议你重新新建数据库,选utf-8编码,然后把表也重新建,都用utf-8,这样之后应该就可以正常显示中文字符了。