解决mysql和可视化工具Navicat与web应用中数据库传输中文乱码问题

来源:互联网 发布:彩票双色球大赢家软件 编辑:程序博客网 时间:2024/06/05 13:25

  关于网上解决乱码的问题有许多也很成熟了,将mysql和他的可视化工具Navicat之间统一编码问题也有许多,本篇文章旨在回顾mysql与Navicat之间的统一编码的所有方式,和web应用中传输中文乱码做统一规划,由于本人水有限,文中有不少错误的地方望批评改正。

  
   大家都知道,之所以乱码是因为编码和解码不统一所造成的,当然,我们所熟知的编码格式中UTF-8,想必非常熟悉,UTF-8是国际编码,能解析所有字符,故一般网站采用UTF-8编码。

   mysql方面编码问题统一UTF-8解决方案

修改mysql安装目录下my.ini文件:

  打开mysql默认安装路径下的my.ini文件,

设置  default-character-set=utf8 ,当然,需要你在建数据库之前和建表之前设置,

然后,设置数据库xxxx的编码格式:

ALTERDATABASE`xxx` DEFAULTCHARACTERSET utf8 COLLATEutf8_general_ci;

然后,设置xxx表的编码格式为utf-8:
ALTERTABLE`testTable` DEFAULTCHARACTERSET utf8 COLLATEutf8_general_ci;

好了,然后查看数据库编码格式:
showcreatedatabase xxx; 为utf-8则说明编码设置完成了

好了,然后查看数据库表的编码格式:

showcreatetabletestTable;

设置完成!MySql统一了utf-8编码.

Navicat工具设置编码解决方案:

很简单,打开工具,新建连接,打开高级选项,设置如界面所示:

编码设置自动就可以, 当然 ,也可以在该工具设置数据库和表编码格式,很简单不做介绍了,右键表对象 信息就可设置。

Web应用中设置编码解决方案:

上述步骤设置完成后,我们做一个jsp界面用于过去mysql中的数据,并将表的数据呈现出来,设置可以编辑,和添加操作,

当然,还要设置编码格式:

然后,在java中获取连接时指定utf-8编码:

// 获取数据库连接。 三个参数分别为 连接URL,用户名,密码
        conn = DriverManager.getConnection(
                            "jdbc:mysql://localhost:3306/databaseWeb?charracterEncoding=UTF-8",
                            "root",
                            "root");
       
指定charracterEncoding=UTF-8

然后,设置request和response编码统一,当然,推荐设置在filter中:

好了,启动服务器,打开网页:

没问题,然后点击修改保存:

还是没问题,

当然,你通过MySql命令行查看,和通过可视化工具Navicat编辑查看,和网页上读取和设置中文然后读入mysql,都没有出现乱码问题,

至此,乱码问题全部解决。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电脑e盘不见了怎么办 电脑d盘权限怎么办 共享打印机无法打印怎么办 网络权限被禁止怎么办 硬盘显示不出来怎么办 硬盘插上不显示怎么办 mac不能读取移动硬盘怎么办 mac系统坏了怎么办 ip地址网站打不开怎么办? 电脑页面偏了怎么办 wifi被禁止联网怎么办 oppo浏览器屏蔽网站怎么办 被网站禁言怎么办 网站被模仿了怎么办 公积金不允许提取还房贷怎么办 电脑超出频率限制怎么办 海带宝转运丢失怎么办 xp电脑证书过期怎么办 电脑qq重复登录怎么办 海带宝少东西怎么办 苹果手机照片打不开怎么办 旧电脑没有密码了怎么办 快手忘记登录账号怎么办 b站永久封禁怎么办 微博自动关注怎么办 微博会自动点赞怎么办 游戏名字被占用怎么办 闲鱼头像违规怎么办 请求状态码错误怎么办 微博错误20521怎么办 忘记申请的邮箱怎么办 填写简历忘记邮箱怎么办 雅虎邮箱忘记用户名怎么办 oppo手机忘记密码怎么办 设备昵称忘了怎么办 快手昵称被注册怎么办 app占用越来越大怎么办 淘宝昵称被占用怎么办 电脑开机时间不准怎么办 电脑的时间不对怎么办 做完运动饿了怎么办