mysql 中文可插 插入的中文无法显示 显示空白 字符编码都是utf8 用phpmyadmin可以正确插入并显示

 我来答
汪雄辉拉
2013-04-09 · TA获得超过2966个赞
知道大有可为答主
回答量:1430
采纳率:0%
帮助的人:1619万
展开全部
用phpmyadmin可以正确插入并显示,这点说明你表支持中文存储的,

然后你说的 mysql中文可插 插入的中文无法显示 显示空白---这是通过什么写入的,是在命令行吗,
那么你的客户端编码必须和数据库中的
character_set_client
character_set_connection
character_set_results
这三个编码一致,前面两个是连接的编码设置,包括对数据的写入也是用上面两个,最后一个是显示的编码,

楼上那位说的是针对win系统的操作,因为cmd命令行窗口的编码是gbk,执行 set names gbk的作用就是将数据库中那三个参数的编码转成gbk,如果你客户端的编码不是gbk,那这么设置就会出现乱码了
追问
show variables like 'character_set_%'查看的数据库字符编码都是utf8的

我不想改数据库的字符编码 命令行请问怎样插入中文?
举个例子吧!
PHP文件中插入后在命令行中显示乱码 但在PHP中输出后显示的是正确中文!PHP中应该没问题了!
追答
已经解释过了,你说的命令行是不是就是windows的cmd命令窗口,这个就相当于一个客户端,编码是gbk的,而你的character_set_client
character_set_connection
character_set_results
这三个默认就是utf8,所以在命令行窗口查看就肯定是乱码,你需要执行下set names gbk来修改这三个编码,---这个命令是session级的,就是你当前连接有效,下次连接就重新恢复成utf8了
为什么你的phpadmin能正确显示?你可以看看你php页面的编码设置,绝对是utf8的
novice_pegasus
2013-04-09 · TA获得超过624个赞
知道小有建树答主
回答量:722
采纳率:100%
帮助的人:637万
展开全部
改用set names gbk
追问
说过了 字符编码默认设置为UTF8 !UTF8不能存?你真幽默!
追答
不信拉倒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式