解決亂碼最好的方法是在項目設計之初,統一所有的字符集,例如頁面、request對象以及數據庫等等。

一、 幾種常見的亂碼現象:

1、頁面亂碼

單純的頁面亂碼是很好解決的,只要修改頭部適合的字符集即可,如果頁面中文顯示亂碼,你可以把字符集修改為:gb2312或gbk。

2、頁面之間傳遞的參數是亂碼

頁面之間傳遞參數出現的亂碼,就要解決頁面編碼和requset的字符集問題,在參數傳進傳出時重新設置相應的字符集。比如:request.setCharacterEncoding("UTF-8");

3、數據庫亂碼(下面詳細介紹)

二、數據庫亂碼解決方法(Mysql)

頁面和頁面傳值都沒有問題,結果發現存儲在數據庫中的數據出現了亂碼,則問題是出現在數據庫的編碼問題。

下面我已MySql數據庫為例說明解決方法:

如果你安裝數據庫的時候字符集使用的默認選項:latin1

DOS命令下進入數據庫show 一下字符集(命令:show variables like"%char%"; )顯示如下:

Java代碼 

+--------------------------+---------------+

| 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          |

+--------------------------+---------------+

+--------------------------+---------------+| 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代碼 

+--------------------------+---------------+

| 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          |

+--------------------------+---------------+

+--------------------------+---------------+| 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代碼 

+--------------------------+---------------+

| 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          |

+--------------------------+---------------+

+--------------------------+---------------+| 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 |+--------------------------+---------------+

ef mysql 中文乱码,mysql解決中文亂碼問題相关推荐

  1. mysql设置字符集gb2312_MySQL字符集 GBK、GB2312、UTF8區別 解決 MYSQL中文亂碼問題

    MySQL中涉及的幾個字符集 character-set-server/default-character-set:服務器字符集,默認情況下所采用的. character-set-database:數 ...

  2. java menuitem 乱码_MenuItem 顯示中文亂碼問題解決方案

    今天在使用Java做系統托盤圖標(TrayIcon),需要為其增加一個右鍵彈出菜單(PopupMenu),在使用菜單項(MenuItem)時,遇到了一個非常痛苦的事情:中文亂碼----.這個問題不經常 ...

  3. 解決 Tomcat 5.0.x % include file ... % 的中文亂碼問題

    解決 <%@ include file="/global/topright.html" %> 的中文亂碼問題 要解決這個問題,當然最簡單的就是在每個被 include ...

  4. delphi 2009 IdSMTP 發郵件中文亂碼問題

    在delphi 2009的發郵件中文會出現亂碼 問題出現的原因估計是由unicode引起的 決解方未法 郵件的正文部分: IdMessage1.ContentTransferEncoding := ' ...

  5. VS 2005 文本编码小技巧 --中文亂碼問題解決

    VS2003使用代码生成器生成的代码加入到工程会很郁闷的,在智能提示中是乱码,在VS2005中有一个选项可以解决这个问题.      今天将一个工程从VS2003转到VS2005,打开中文的注释都变成 ...

  6. php压缩中文乱码,完美解决PHP中文乱码

    一.首先是PHP网页的编码 1.php文件本身的编码与网页的编码应匹配 a.如果欲使用gb2312编码,那么php要输出头:header("Content-Type:text/html;ch ...

  7. php在传json中文乱码,解决php json中文乱码问题

    解决php json中文乱码问题 php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. 推荐:<PHP视频教 ...

  8. vscode新建html中文乱码,vscode中html中文乱码 怎么办

    vscode中html中文乱码 怎么办?VSCode 中文乱码解决办法 文件 >> 首选项 >> 设置 搜索:"files.autoGuessEncoding&quo ...

  9. 关于mysql的中文乱码全解 java方式

    哎,没想到啊,这几次做项目都每次使用mysql的时候,都需要去解决mysql的中文乱码问题,而且到处去网上找资料,这次我都找烦了,所以就把我遇到的的连接mysql的解决方案全部写出来一下. 1.首先m ...

最新文章

  1. 在python3环境安装builtwith模块
  2. complex--创建复数
  3. Go语言fmt.Printf使用指南(占位符总结)
  4. vs联合torch,ZED相机api,opencv建立C++项目
  5. YbtOJ-相似子串【SA,RMQ,二分】
  6. 常见光纤收发器组网方式介绍
  7. mysql 多表查询 join on_MySQL多表查询Left Join,Right Join学习笔记
  8. HarmonyOS 正式登陆华为手机,4月陆续升级!
  9. python垃圾分类准确率计算公式_准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure...
  10. 输入字符串,找出该字符串中abc出现的位置
  11. 【Java-Web】初始化加载Serlvet工程后-HttpServlet报错
  12. 六句话,看完新造车的2021
  13. 城市内涝及桥洞隧道积水在线监测系统
  14. Php狼找兔子,狼和兔子的故事 - 仙境传说:守护永恒的爱 - 普隆德拉酒馆 - 心动游戏 官方论坛...
  15. 华硕笔记本电脑开机进入bios
  16. 开发在线文档时,这个技术难点你解决了吗?
  17. 计算机专业知识技能名词,学习计算机知识必须知道的50个专业术语
  18. xrc C语言解释器
  19. Python数据分析实战:上海二手房价分析
  20. android更新后忘记密码,教您6种方案解锁LG手机,如果您忘记了密码

热门文章

  1. 滑动验证码研究-后续
  2. USTB自习教室查询系统-项目计划书-第二部分
  3. Sql JOIN 一张图说明
  4. hdu 1078 FatMouse and Cheese(记忆化搜索)
  5. EasyPR中文车牌识别系统开发
  6. linux pclint配置_静态分析工具PC-lint Plus使用教程:安装与配置
  7. warning C4996 错误
  8. bat批量修改及替换文件内容
  9. 父类指针指向子类对象,子类指针不能指向父类对象
  10. 查看audio信息工具(十九)