解决乱码最好的方法是在项目设计之初,统一所有的字符集,例如页面、request对象以及数据库等等。

一、 几种常见的乱码现象: 
1、页面乱码 
    单纯的页面乱码是很好解决的,只要修改头部适合的字符集即可,如果页面中文显示乱码,你可以把字符集修改为:gb2312或gbk。

2、页面之间传递的参数是乱码 
   页面之间传递参数出现的乱码,就要解决页面编码和requset的字符集问题,在参数传进传出时重新设置相应的字符集。比如:request.setCharacterEncoding("UTF-8");

3、数据库乱码(下面详细介绍)

二、数据库乱码解决方法(Mysql)

页面和页面传值都没有问题,结果发现存储在数据库中的数据出现了乱码,则问题是出现在数据库的编码问题。 
   下面我已MySql数据库为例说明解决方法:

如果你安装数据库的时候字符集使用的默认选项:latin1 
    DOS命令下进入数据库show 一下字符集(命令:show variables like"%char%"; )显示如下:

Java代码 
  1. +--------------------------+---------------+
  2. | Variable_name            | Value         |
  3. +--------------------------+---------------+
  4. | character_set_client     | latin1        |
  5. | character_set_connection | latin1        |
  6. | character_set_database   | latin1        |
  7. | character_set_filesystem | binary        |
  8. | character_set_results    | latin1        |
  9. | character_set_server     | latin1        |
  10. | character_set_system     | utf8          |
  11. +--------------------------+---------------+
+--------------------------+---------------+| Variable_name            | Value         |+--------------------------+---------------+| character_set_client     | latin1        || character_set_connection | latin1        || character_set_database   | latin1        || character_set_filesystem | binary        || character_set_results    | latin1        || character_set_server     | latin1        || character_set_system     | utf8          |+--------------------------+---------------+

1、修改数据库默认字符集: 
打开C:\Program Files\MySQL\MySQL Server 5.0里面的my.ini文件找到这段文字:

引用

# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=latin1

把default-character-set=latin1改为default-character-set=gbk

这时候show 一下字符集(重新启动mysql服务 ,命令:show variables like"%char%"; )显示如下:

Java代码 
  1. +--------------------------+---------------+
  2. | Variable_name            | Value         |
  3. +--------------------------+---------------+
  4. | character_set_client     | latin1        |
  5. | character_set_connection | latin1        |
  6. | character_set_database   | gbk           |
  7. | character_set_filesystem | binary
  8. | character_set_results    | latin1        |
  9. | character_set_server     | latin1        |
  10. | character_set_system     | utf8          |
  11. +--------------------------+---------------+
+--------------------------+---------------+| Variable_name            | Value         |+--------------------------+---------------+| character_set_client     | latin1        || character_set_connection | latin1        || character_set_database   | gbk           || character_set_filesystem | binary        || character_set_results    | latin1        || character_set_server     | latin1        || character_set_system     | utf8          |+--------------------------+---------------+

2、如果你是导入的数据库,需要对my.ini做如下修改找到

引用

[client]

port=3306

[mysql]

default-character-set=latin1

把 default-character-set=latin1改为default-character-set=gbk

引用

# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]

找到 
增加default-character-set=gbk

然后在设置一下你导入的数据库字符集即可:

命令:alter database  你的数据库名 charset = gbk;

重新启动mysql服务,show 一下字符集(,命令:show variables like"%char%"; )显示如下:

Java代码 
  1. +--------------------------+---------------+
  2. | Variable_name            | Value         |
  3. +--------------------------+---------------+
  4. | character_set_client     | gbk           |
  5. | character_set_connection | gbk           |
  6. | character_set_database   | gbk           |
  7. | character_set_filesystem | binary        |
  8. | character_set_results    | gbk           |
  9. | character_set_server     | gbk           |
  10. | character_set_system     | utf8          |
  11. +--------------------------+---------------+
+--------------------------+---------------+| Variable_name            | Value         |+--------------------------+---------------+| character_set_client     | gbk           || character_set_connection | gbk           || character_set_database   | gbk           || character_set_filesystem | binary        || character_set_results    | gbk           || character_set_server     | gbk           || character_set_system     | utf8          |+--------------------------+---------------+

mysql解决中文乱码问题相关推荐

  1. mysql mac 中文乱码_Mac mysql 解决中文乱码

    Mac mysql 解决中文乱码问题 出现"???"之类的无法识别的乱码 到/etc目录下自己建一个my.cnf文件(需要最高权限,使用sudo su),然后写入内容: [clie ...

  2. Docker 安装mysql 解决中文乱码,数据持久化进入本地

    目录 一:简单版的(没有持久化,有乱码,直接run 的容器实例) 1.拉取镜像到本地 2.安装运行简单版 2.1.验证使用,建库建表插入数据 2.2外部Win10也来连接运行在dokcer上的mysq ...

  3. Mysql解决中文乱码

    mysql字符编码的设置以及mysql中文乱码的解决方法(治本) 2.1解决策略一: 最近在开发过程中,使用到mysql的数据库,而在将中文数据插入到数据库的时候出现了数据乱码的问题,在网上找了很多方 ...

  4. XAMPP下的MYSQL解决中文乱码问题

    为什么80%的码农都做不了架构师?>>>    在my.ini加上下面这四句,就可以. default_character_set = utf8 character-set-serv ...

  5. navicat for mysql 显示中文乱码解决办法

    navicat for mysql 显示中文乱码解决办法   最近遇到一个问题,用navicat for mysql 打开数据库时全都显示的是乱码(在用程序代码插入数据之前确保字符不是乱码),遇到问题 ...

  6. 通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0......

    原文:[原创]通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 'incorrect string value: '\xF0... 这篇blog重点在解决问题,如果你对 ...

  7. mysql保存中文乱码的原因和解决办法

    当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心.   也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类似 ...

  8. 易语言mysql乱码_分享一个解决MySQL写入中文乱码的方法

    [编程语言:易语言] 之前有发帖请教过如何解决MySQL写入中文乱码的问题.但没人会,或者是会的人不想回答.搜索网上的答案并尝试很多次无效,所以当时就因为这个乱码问题搁浅了一个软件很多日子. 直到昨天 ...

  9. mysql linux 中文乱码怎么解决_如何解决mysql linux 中文乱码的问题

    解决mysql linux中文乱码的方法: 1.查看mysql的默认字符集#mysql -u root - p #(输入密码) mysql> show variables like 'chara ...

最新文章

  1. TensorFlow 2.0来了,为什么他却说“深度学习框架之争,现在谈结果为时尚早”?...
  2. HR经理必须掌握的五原则
  3. leetcode算法题--Reverse Words in a String
  4. python数据驱动ddt_python_数据驱动_ddt
  5. 【蓝桥杯Java_C组·从零开始卷】第二节(附)、if与switch效率比较(千万次/一亿次)
  6. html获取微信code,get-weixin-code.html
  7. pytorch元素相乘_bert_pytorch学习(1)
  8. java http请求实现_JAVA实现HTTP请求方式
  9. Android -- 开机启动无界面后台程序
  10. SharedCache分析:服务端程序
  11. 浅析Comet技术在Java Web实时系统开发中的应用
  12. Gerbview(高级pcb看图软件)官方正式版V9.20 | pcb文件怎么打开 | 含pdf转cad转换器和gerbview使用教程
  13. MIUI9修改手机机型 修改王者荣耀版本
  14. HDU-1212-Big Number【大数】
  15. linux bin目录在哪,Linux 基础知识 /bin,/sbin,/usr/sbin,/usr/bin 目录 区别详解
  16. JAVA java学习(46)——————如何将Eclipse设置为中文版
  17. pythyon爬虫实现12306查票
  18. 什么是PBR?pbr入门基础干货
  19. matlab八节点六面体程序,八节点六面体等参数元计算程序
  20. Bugku web——秋名山老司机

热门文章

  1. editplus5激活码 (亲测可用)
  2. 最早的计算机就是智慧的中国人发明的什么,美国人:这个人类使用了百年的科技,中国人居然说是他们发明的?...
  3. 八种炫酷纯CSS加载动画代码
  4. 环境变量的用户变量与系统变量的区别
  5. android切换域名,android通过gradle切换域名,替换app的String资源(修改app名称,图标)
  6. Java项目:JSP在线水果销售商城
  7. 双斜齿轮-市场现状及未来发展趋势
  8. 迷你世界显示服务器错误,迷你世界无法登陆及闪退怎么办 解决方法详解
  9. MySQL字段类型及使用
  10. 想学习C语言?这里有非常实用的C语言技巧,进来看看吧!