您的位置:首页 > 编程语言 > Java开发

java中在写入mysql数据库时出现的乱码问题

2016-01-08 15:54 211 查看
1.乱码问题一直都是编程当中的一个头痛的地方,至少我是这么认为的。所以我就记住了两个常用的解决java中文乱码问的语句,

request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8"); 

2.在解决一些问题之后,发现这两句话还不够,在java web中发现:网页会乱码,在eclipe中设置了好多的utf-8的编码格式都没用,解决方法就是设置浏览器的编码方式为utf-8.

步骤  谷歌浏览器点击 【自定义及控制】->【更多工具】->【编码】->【utf-8】就行了 。

3.现在要说的是我今天弄了好久的乱码的问题了,今天的问题也是比较奇葩!在我用Navicat打开mysql数据库时,用命令行插入一个中文字段,竟然显示乱码。

我也是无语了,不知道是不是我的数据库出了什么问题了。后来各种搜索,找到了一个解决方法

执行 show variables like 'char%';

可以显示出编码的格式



如果你的mysql不是显示上图所示的,可以执行下面这句话

ALTER TABLE t_food DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;   我用这句话好像并没什么用

其实真正解决我的问题的  还是执行的下面这句话,才解决在mysql中的乱码问题

ALTER TABLE `tableName` CONVERT TO CHARACTER SET UTF8;

上面这句话,大概是修改某个表的字符编码,改为utf8

上面解决了我一半的问题吧,还有个问题就是我用java 通过jdbc驱动包,向mysql插入中文字段时,就会变成问好,我也是无语了,又是查资料,

终于知道是驱动包的问题,只需要在驱动的url上加上

就才解决了我的问题。

这是我第一次写博客吧!刚开通的博客,我写博客的目的呢,主要是想帮助自己整理一些常见的错误吧,这样下次就不容易再犯同样的错误了。我自己还有很多需要学习的地方,所以博客对别人的帮助肯定会很小吧!

通过这篇博客 我也认识到了自己的一个问题,在编程方面我不愿意去深入研究为什么会产生这个结果,这里面的机制是什么。就只是觉得这样做能解决问题,以后都这样做就行了,不需要知道里面的问题,知道了也没用。很多时候我都是这样想的。这是我自己的一个缺点吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: