mysql 插入的数据是乱码, 插入进去的数据是中文的,导出来显示的数据也是中文的,设置的是utf8_general_ci 格式的数据库
刚学习写程序的时候也出现过各种乱码,导入数据库乱码,数据库不乱码之后,从数据库读出的数据显示的乱码,各种乱码,后来全部统一utf8,
数据库设置utf8,
文件导入时文件的文字类型也是utf8,
通过代码导入也是set一下charset为utf8
编辑器编辑的文件格式utf8,
网页的charset也utf8.
5 回答3.3k 阅读✓ 已解决
3 回答3.7k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
5 回答1.4k 阅读
2 回答2.1k 阅读
3 回答2k 阅读
1 回答3.6k 阅读
客户端的编码跟数据库的编码不统一造成的。
你是从terminal中输入么?
比如你terminal中的编码是GBK,而服务器的数据库虽然是采用 UTF-8 编码,但却可以识别通知服务器端的 GBK 编码数据并将其自动转换为 UTF-8 进行存储。可以使用如下语句来快速设置与客户端相关的编码集:
set names gbk;
设置完成后即可解决客户端插入数据或显示数据的乱码问题了,但我们马上会发现这种形式的设置只会在当前窗口有效,当窗口关闭后重新打开 CMD 客户端的时候又会出现乱码问题;那么,如何进行一个一劳永逸的设置呢?在 MySQL 的安装目录下有一个 my.conf 配置文件,通过修改这个配置文件可以一劳永逸的解决乱码问题。在这个配置文件中 [mysql] 与客户端配置相关,[mysqld] 与服务器配置相关。默认配置如下:
这时只需要将下的默认编码 default-character-set=utf8 改为 default-character-set=gbk ,重新启动 MySQL 服务即可。