mysql 中文显示 ????? 的问题

2015 年 1 月 15 日
 johnnyR

用 Navicat 将一个 txt gb2312 编码的数据库导入 mysql~输入账学号查询结果显示正常!但输入中文查询结果中文却显示 ????? 这是为什么?

5658 次点击
所在节点    MySQL
19 条回复
abcbit
2015 年 1 月 15 日
統一所有編碼, over
johnnyR
2015 年 1 月 15 日
@abcbit 从网页,数据库,表,全部都设置了utp8了。还是这样。是原导入文件的问题吗
xlvecle
2015 年 1 月 15 日
统一utf-8就行了,页面如果不是改页面
haiyang416
2015 年 1 月 15 日
SET NAMES utf8
传输编码也要记得改
johnnyR
2015 年 1 月 15 日
@haiyang416 这个连接数据库时的编码吗?在连接数据库的配置文件也改了!……
johnnyR
2015 年 1 月 15 日
在用navicat导入时第一步要不要选择utf8?
loyd1234
2015 年 1 月 15 日
在你配置mysql的时候就应该选择utf-8
yuanji
2015 年 1 月 15 日
有问号的那个字段设置一下?

比如这样?

`description` varchar(255) CHARACTER SET ucs2 NOT NULL DEFAULT '',
johnnyR
2015 年 1 月 15 日
@jyjmrlk 这个可以试试。
yuanji
2015 年 1 月 15 日
@johnnyR 有用的话记得告诉我。
edire
2015 年 1 月 15 日
需要统一txt 和 mysql的编码
johnnyR
2015 年 1 月 15 日
@edire 怎么统一?用编辑器打开txt文件,如果选择utf8就会显示乱码。gb2312才 显示正常
endoffight
2015 年 1 月 15 日
编码需要统一
插入前确保数据库编码和文件编码一样,推荐utf8
如果不一样,修改文件的编码,包括sql内容中和编码有关的字段和文件编码。
然后导入
取数据前执行一次set names utf8
johnnyR
2015 年 1 月 15 日
还有在phpmyadmin里面中文为显示正常。
Mac
2015 年 1 月 15 日
@johnnyR 用notepad++把源文件转成UTF-8编码再导入
ericls
2015 年 1 月 15 日
@johnnyR 是可以转换的 这就是问题所在 你把gbk硬生生导入了utf8 而没经过转换
johnnyR
2015 年 1 月 16 日
@ericls 谢谢,这个也可以试试
johnnyR
2015 年 1 月 16 日
@Mac 不会乱码吗
Mac
2015 年 1 月 16 日
@johnnyR 不会,菜单-格式-转为UTF-8无BOM编码格式

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/162503

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX