mysql中文乱码详细解决方案_MySQL

php中文网
发布: 2016-06-01 13:39:03
原创
1054人浏览过

bitsCN.com


mysql中文乱码详细解决方案

 

这个是我之前的iteye号上的,现在放在这个号里面,方便整理 

最近要做毕业设计,以前用的数据库是oracle,基本上没出现过中文乱码的问题。可是毕业设计人在外地,带的笔记本比较垃圾,oracle根本带不起。一个eclipse加上一个火狐cpu就已经跑到90%了。所以最后决定用mysql数据库。前台用的是jsp,使用的编码格式是utf-8。

 

   不过mysql的中文乱码让我纠结了许久。经过一番查询,最终解决了。

   一:查看编程环境是否为utf-8

   方法:右键项目名称-属性 找到文本文件编码 选择utf-8.

   二:设置jsp页面的编码格式:

   方法:contentType="text/html; charset=utf-8"

            meta http-equiv="Content-Type" content="text/html; charset=utf-8"

   三:设置request和response的编码格式:

   方法:response.setContentType("text/html ;charset=utf-8");

           request.setCharacterEncoding("utf-8");

   四:编写过滤器

   五:连接数据库的方式改为:jdbc:mysql://localhost/databasename?useUnicode=true&characterEncoding=UTF-8

   经过以上5步,如果问题依然没有解决的话,则有可能是出现在mysql服务器上。

     

 数据库方面

Designs.ai
Designs.ai

AI设计工具

Designs.ai 48
查看详情 Designs.ai

 一:首先查看数据库字符集设置

方法:set character_set_client=utf8;

用这个方法可以看到几个字符集。

然后用以下命令修改

   set character_set_client=utf8;

   set character_set_connection=utf8;

   set character_set_database=utf8;

   set character_set_results=utf8;

   set character_set_server=utf8;

当然也可以在mysql的安装目录下,一般在c盘中的 my.ini下修改凡是看到字符集有关的都修改成utf8

     

做到这步,基本上从数据库中取出的数据都是中文,但是还是有可能会出现问题,比如在用dos打开的时候,中文依然显示为乱码,而且不能在dos环境下用sql语句插入中文字符。

这时,要把set character_set_results=utf8; 改为 set character_set_results=gbk;

set character_set_client=utf8; 改为 set character_set_client=gbk;

这样,基本就能解决了。

 

bitsCN.com
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号