mysql5资源共享

 找回密码
 立即注册
查看: 157|回复: 13

[MySQL] mysql存中文变问号

[复制链接]

3

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2017-7-17 23:52:30 | 显示全部楼层 |阅读模式
我用MySQL数据库,保存中文全部变成问号,使用showvariableslike"%char%";的结果是

59609.png

59609.png


可以看到character_set_server的编码格式是Latin1,然后我设置character_set_server的编码格式,在查看发现已经修改过来了

59610.png

59610.png


最后也commit过了。但是我保存中文还是问号,重新打开控制台,使用showvariableslike"%char%";查看,发现character_set_server的编码格式还是Latin1。一直都这样,搞了我好久,究竟该怎么做?求各位大哥大姐帮帮忙!
回复

使用道具 举报

5

主题

347

帖子

743

积分

高级会员

Rank: 4

积分
743
发表于 2017-7-18 07:24:35 | 显示全部楼层
服务器级编码应该是在配置文件里修改,然后重启服务器解决
uft8mb4是什么?
使用utf8编码,数据保存需要使用utf8格式
取出来也是utf8格式
不知道你怎么看的?号,也许跟你的客户端不能识别utf8格式有关
试下取出数据后做个转码
回复

使用道具 举报

25

主题

1744

帖子

3551

积分

论坛元老

Rank: 8Rank: 8

积分
3551
发表于 2017-7-18 09:01:28 | 显示全部楼层
楼主修改的是配置文件的编码格式吗?如果是需要重启mysql服务;
另外在新建数据库和数据库表的时候也要指定编码格式;
回复

使用道具 举报

3

主题

40

帖子

99

积分

注册会员

Rank: 2

积分
99
发表于 2017-7-18 10:59:07 | 显示全部楼层
1、创建数据库时需要指定为utf-8(这样创建成功后在创建表时也不需要再指定表的编码方式了)。
2、保存中文的时候确定是以uft-8的编码格式存储的,这样就能保证数据库中存储的是正确的中文格式。
3、查看数据库时乱码可以在客户端设置编码格式,执行命令:setnamesutf8,然后在select查看中文就能正常显示了。
回复

使用道具 举报

3

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
 楼主| 发表于 2017-7-18 21:06:45 | 显示全部楼层
引用1楼ckc的回复:服务器级编码应该是在配置文件里修改,然后重启服务器解决
uft8mb4是什么?
使用utf8编码,数据保存需要使用utf8格式
取出来也是utf8格式
不知道你怎么看的?号,也许跟你的客户端不能识别utf8格式有关
试下取出数据后做个转码
我是直接打开Navicat直接看保存的数据的,看到中文都变成了问号,英文数字啥的都正常!
回复

使用道具 举报

3

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
 楼主| 发表于 2017-7-18 21:08:57 | 显示全部楼层
引用2楼二月十六的回复:楼主修改的是配置文件的编码格式吗?如果是需要重启mysql服务;
另外在新建数据库和数据库表的时候也要指定编码格式;
我是用Navicat的控制台用SQL命令修改的
回复

使用道具 举报

3

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
 楼主| 发表于 2017-7-18 21:10:42 | 显示全部楼层
引用3楼凡迪的回复:1、创建数据库时需要指定为utf-8(这样创建成功后在创建表时也不需要再指定表的编码方式了)。
2、保存中文的时候确定是以uft-8的编码格式存储的,这样就能保证数据库中存储的是正确的中文格式。
3、查看数据库时乱码可以在客户端设置编码格式,执行命令:setnamesutf8,然后在select查看中文就能正常显示了。
我原本在另一台电脑上做,后来用那台电脑的Navicat生成数据库的SQL文件,弄到这台电脑执行。那台电脑上是正常的,到这里就不行了!
回复

使用道具 举报

2

主题

4

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2017-7-19 11:12:56 | 显示全部楼层
修改mysql安装目录下的my.ini文件

#default-character-set=utf8
default-character-set=gbk

然后重新启动服务
可以解决中文乱码问题
试试吧
回复

使用道具 举报

3

主题

85

帖子

191

积分

注册会员

Rank: 2

积分
191
发表于 2017-7-19 17:41:51 | 显示全部楼层
安装数据库时记得有一个步骤设置编码格式
回复

使用道具 举报

24

主题

8152

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
16376
发表于 2017-7-19 22:41:15 | 显示全部楼层
setnames'gbk';

然后再试。


按下贴中的方法检查字符集设置。并贴出以供分析。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL中文显示乱码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|mysql5.com Inc. ( 闽ICP备17002856号-1 )

GMT+8, 2019-10-22 06:26 , Processed in 0.054173 second(s), 21 queries .

Powered by MySQL5.com X3.4

© 2003-2019 MySQL5.com.

快速回复 返回顶部 返回列表