您的位置:首页 > 数据库 > MySQL

ubuntu下解决mysql插入中文乱码(???)的问题

2015-02-25 14:11 525 查看
一.原因

myeclipse中插入中文发现不仅在mysql中且在myeclipse中查询都显示???

二.解决


网上看了很多资料,如果在mysql中直接修改,重启mysql后就失效,一般修改my.ini文件,当然在ubuntu下是my.cnf.修改的过程可参考http://blog.knowsky.com/190431.htm


但在我进行修改的过程中发现:


找到[mysqld]在下面加入
default-character-set=utf8
init_connect='SET NAMES utf8'


一旦将mysqlId修改,再次启动mysql会报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

找了很多方法,都不是很有效,本人反而在一次修改my.cnf中不小心删除了全部的文件,不得不重新安装mysql


顺便再来介绍下如何和重装mysql

三.mysql的重装

详情参见 http://www.jbxue.com/db/14719.html 比较详细

四.继续解决乱码问题

安装完成,查看当前编码设置


|character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8
发现

character_set_server
还是latin1 原因找到,下面进行解决,原来原因在此~

其他的还跟上面一样,只有在[mysqld]下面添加的
default-character-set=utf8

改为:
character-set-server=utf8

尝试修改

输入命令
sudo service mysql restart
重新启动mysql,启动成功!再查看编码为:
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |

再次运行junit测试,插入中文成功!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: