Home  >  Article  >  Database  >  mysql中文乱码详细解决方案_MySQL

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

WBOY
WBOYOriginal
2016-06-01 13:39:03907browse

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服务器上。

     

 数据库方面

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

方法: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
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn