ef mysql 中文乱码,mysql解決中文亂碼問題
解決亂碼最好的方法是在項目設計之初,統一所有的字符集,例如頁面、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解決中文亂碼問題相关推荐
- mysql设置字符集gb2312_MySQL字符集 GBK、GB2312、UTF8區別 解決 MYSQL中文亂碼問題
MySQL中涉及的幾個字符集 character-set-server/default-character-set:服務器字符集,默認情況下所采用的. character-set-database:數 ...
- java menuitem 乱码_MenuItem 顯示中文亂碼問題解決方案
今天在使用Java做系統托盤圖標(TrayIcon),需要為其增加一個右鍵彈出菜單(PopupMenu),在使用菜單項(MenuItem)時,遇到了一個非常痛苦的事情:中文亂碼----.這個問題不經常 ...
- 解決 Tomcat 5.0.x % include file ... % 的中文亂碼問題
解決 <%@ include file="/global/topright.html" %> 的中文亂碼問題 要解決這個問題,當然最簡單的就是在每個被 include ...
- delphi 2009 IdSMTP 發郵件中文亂碼問題
在delphi 2009的發郵件中文會出現亂碼 問題出現的原因估計是由unicode引起的 決解方未法 郵件的正文部分: IdMessage1.ContentTransferEncoding := ' ...
- VS 2005 文本编码小技巧 --中文亂碼問題解決
VS2003使用代码生成器生成的代码加入到工程会很郁闷的,在智能提示中是乱码,在VS2005中有一个选项可以解决这个问题. 今天将一个工程从VS2003转到VS2005,打开中文的注释都变成 ...
- php压缩中文乱码,完美解决PHP中文乱码
一.首先是PHP网页的编码 1.php文件本身的编码与网页的编码应匹配 a.如果欲使用gb2312编码,那么php要输出头:header("Content-Type:text/html;ch ...
- php在传json中文乱码,解决php json中文乱码问题
解决php json中文乱码问题 php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. 推荐:<PHP视频教 ...
- vscode新建html中文乱码,vscode中html中文乱码 怎么办
vscode中html中文乱码 怎么办?VSCode 中文乱码解决办法 文件 >> 首选项 >> 设置 搜索:"files.autoGuessEncoding&quo ...
- 关于mysql的中文乱码全解 java方式
哎,没想到啊,这几次做项目都每次使用mysql的时候,都需要去解决mysql的中文乱码问题,而且到处去网上找资料,这次我都找烦了,所以就把我遇到的的连接mysql的解决方案全部写出来一下. 1.首先m ...
最新文章
- 在python3环境安装builtwith模块
- complex--创建复数
- Go语言fmt.Printf使用指南(占位符总结)
- vs联合torch,ZED相机api,opencv建立C++项目
- YbtOJ-相似子串【SA,RMQ,二分】
- 常见光纤收发器组网方式介绍
- mysql 多表查询 join on_MySQL多表查询Left Join,Right Join学习笔记
- HarmonyOS 正式登陆华为手机,4月陆续升级!
- python垃圾分类准确率计算公式_准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure...
- 输入字符串,找出该字符串中abc出现的位置
- 【Java-Web】初始化加载Serlvet工程后-HttpServlet报错
- 六句话,看完新造车的2021
- 城市内涝及桥洞隧道积水在线监测系统
- Php狼找兔子,狼和兔子的故事 - 仙境传说:守护永恒的爱 - 普隆德拉酒馆 - 心动游戏 官方论坛...
- 华硕笔记本电脑开机进入bios
- 开发在线文档时,这个技术难点你解决了吗?
- 计算机专业知识技能名词,学习计算机知识必须知道的50个专业术语
- xrc C语言解释器
- Python数据分析实战:上海二手房价分析
- android更新后忘记密码,教您6种方案解锁LG手机,如果您忘记了密码