[error handle][mysql]mysql汉字乱码
2015-09-20 11:10
543 查看
REASON1
mysql默认编码都是latin1,察看方式:mysql> SHOW VARIABLES LIKE ”character_set_%”;
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | binary |
| character_sets_dir | D:\Program Files\mysql-5.6.24-winx64\share\charsets\ |
+————————–+—————————-+
7 rows in set (0.00 sec)
ERROR1
此时通过Navicat插入汉字,一保存就会显示成乱码。FIND1
上网查了下资料,主要是:/article/9195155.html
注意,如果某个表有些字段在latin下编辑过了,更改表和数据库的编码后,进行汉字编辑还是乱码。
那是因为这个表的这些字段的编码还是latin1,输入命令进行察看就知道了。
HANDLE1
运行:SET NAMES “UTF8”; (好像是,记不清了)它的作用相当于:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
通过Navicat插入汉字显示正常。
REASON2
此时+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | binary |
| character_sets_dir | D:\Program Files\mysql-5.6.24-winx64\share\charsets\ |
+————————–+—————————-+
ERROR2
通过java代码向表中插入汉字,还是俩问号。url结尾加上?useUnicode=true&characterset=utf-8也是。FIND2
既然只有character_set_server这个漏网之鱼,那估计就是它喽,想要更改它还挺麻烦。网上的三个方法:
1、SET character_set_server = utf8;
对其他项貌似有用,但对它没用,改完后重启mysql立刻恢复原状。
2、有教程说可以运行设置向导,位置在X:\%path%\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe
我这个版本的mysql相应目录就没有这个文件。好像高版本的这个文件被取消了。
3、更改mysql根目录下的my.ini,添加一行character_set_server = utf8,重启mysql
亲测可用
HANDLE2
更改后,插入汉字,一切正常相关文章推荐
- MySQL之终端:管理数据库的基本操作
- MySQL Cluster:如何通过扩展为MySQL带来2亿QPS
- MySQL线程池总结(二)
- MYSQL线程池总结(一)
- MySQL存储过程详解 mysql 存储过程mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored
- SSD 下的 MySQL IO 优化
- mysql replication(主从复制)(一)MS模式
- JDBC MySQL 连接符 附加属性 (编码及别名处理)
- Navicat for MySQL 11.0.10 +破解补丁
- MySQL备份与恢复
- 【MySQL】查看MySQL配置文件路径及相关配置
- Mysql学习笔记(四)聊聊数据库索引
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- mac Can't connect to MySQL server on '127.0.0.1' (61)
- Host "localhost " is not allowed to connect to mysql server解决方法
- mysql通过文档读取并执行命令之快速为mysql添加多用户和数据库技巧
- MySQL数据库的操作基础
- mysql学习笔记——远程连接数据库
- MySQL 性能优化的最佳 20+ 条经验
- mysql安装完成后启动详解