返回信息流我在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>
好像发不了截图了。。。。
这是一条镜像帖。来源:北邮人论坛 / database / #7990同步于 2014/3/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
Linux下MySQL数据库插入汉字不能正常显示
lishenan2008
2014/3/6镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
请参照置顶提问,提供更详尽信息,方便别的同学帮你定位问题
另外置顶了一篇较早的关于中文乱码的文章,希望能帮到你
【 在 lishenan2008 的大作中提到: 】
: 我在MySQL中用insert在表中插入数据记录,但是如果插入的数据中有汉字时就有warning,然后显示的时候就是问号
: mysql> insert into children(fname,age) values("Jenny",21);
: Query OK, 1 row affected (0.02 sec)
: ...................
【 在 byr304225 的大作中提到: 】
: 看起来像是字段编码为ASCII什么的,改成utf8大概就可以了
我用alter database baseName character set utf8,改了之后还是不行
我一般会把数据库备份一下,然后打开.sql文件,然后把每个表的编码都改成utf8
【 在 lishenan2008 的大作中提到: 】
: 我用alter database baseName character set utf8,改了之后还是不行
【 在 lishenan2008 的大作中提到: 】
: 我在MySQL中用insert在表中插入数据记录,但是如果插入的数据中有汉字时就有warning,然后显示的时候就是问号
: mysql> insert into children(fname,age) values("Jenny",21);
: Query OK, 1 row affected (0.02 sec)
: ...................
前段时间碰到过,看看默认的client那个字符集吧~估计是和显示的不一样
数据量不大的话直接改吧~保证连接和显示的字符集一样就行
用alter用途不大,因为字段的编码可能还是没有改变。建议你重新新建数据库,选utf-8编码,然后把表也重新建,都用utf-8,这样之后应该就可以正常显示中文字符了。