亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

JSP讀出MYSQL數(shù)據(jù)庫時(shí)的亂碼問題解決方案

系統(tǒng) 1842 0

問題:

  MySql在命令行(Client)模式下執(zhí)行查詢時(shí),中文顯示亂碼,執(zhí)行中文插入時(shí)無法插入

  解決命令行中文亂碼問題如下:

  對(duì)my.ini文件作如下修改

[client]

default-character-set=latin1

port=3306


[mysql]
default-character-set=latin1

[mysqld]

default-character-set=utf8


# The TCP/IP Port the MySQL Server will listen on

port=3306

# 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=utf8

laint1編碼也可以是GBK編碼

修改完成后使用如下命令查看mysql服務(wù)器編碼;

mysql> show variables like 'character\_set\_%';?

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

| Variable_name ? ? ? ? ? ?| Value ?|

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

| character_set_client ? ? | latin1 ? |

| character_set_connection | latin1 ? |

| character_set_database ? | utf8 ? |

| character_set_filesystem | binary |

| character_set_results ? ?| latin1 ? |

| character_set_server ? ? | utf8 ? |

| character_set_system ? ? | utf8 ? |

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

命令行亂碼解決后,JDBC驅(qū)動(dòng)讀取MySql數(shù)據(jù)庫時(shí)產(chǎn)生的亂碼可以使用編碼轉(zhuǎn)換

用(new String(string.getBytes("ISO-8859-1"),"gb2312")將讀取的中文轉(zhuǎn)換后,顯示正常。

如果將以上設(shè)置的latin1編碼設(shè)置為utf8時(shí),JDBCdq驅(qū)動(dòng)讀取MySql中文時(shí)不需要編碼轉(zhuǎn)換顯示也正常

MYSQL在命令行終端下中文顯示正常,但在JSP調(diào)用顯出亂碼!
?
? 用JSP查詢顯示亂碼,用(new String(string.getBytes("ISO-8859-1"),"gb2312")還是顯亂碼
?
用<%@ page contentType="text/html; charset=GB2312;pageEncoding="gb2312"%>還是顯亂碼
?
?數(shù)據(jù)庫編碼類型:UTF-8,GBK,GB2312,LATIN1,ISO-8859-1


MYSQL字符編碼的相關(guān)設(shè)置:
?
默認(rèn)的字符是LATIN1,如下:
mysql> show variables like 'character\_set\_%';
+--------------------------+--------+
| 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 | latin1 |
+--------------------------+--------+
?
?
如果在 /etc/mysql/my.cnf里
?
[mysqld]下添加default-character-set=utf8 ?
?
比如:
#
# * Basic Settings
#
user ? ? ? ?= mysql
pid-file ? ?= /var/run/mysqld/mysqld.pid
socket ? ? ? ?= /var/run/mysqld/mysqld.sock
port ? ? ? ?= 3306
basedir ? ? ? ?= /usr
datadir ? ? ? ?= /var/lib/mysql
tmpdir ? ? ? ?= /tmp
language ? ?= /usr/share/mysql/english
#character_set_client=utf8
#character_set_server=utf8
#character_set_connection=utf8
#character_set_database=utf8
#character_set_results=utf8
?
default-character-set=utf8 ?
?
?
重啟MYSQL,發(fā)現(xiàn)字符變化了,變化的是 character_set_server跟system
? mysql> show variables like 'character\_set\_%';
+--------------------------+--------+
| 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 ? ? | utf8 ? | ?
| character_set_system ? ? | utf8 ? | ?
?
+--------------------------+--------+
?
?
這時(shí)候向數(shù)據(jù)庫插入中文字符,JSP顯的還是亂碼
?
如果在MYSQL命令行中運(yùn)行命令:set names utf8;
再插入中文字符,OK!現(xiàn)在JSP 中中文顯示正常!!
?
set names utf8;命令相當(dāng)于下面三條命令
set character_set_client=utf8;
?
set character_set_connection=utf8;
?
set character_set_results=utf8;
?
如圖:
?
?mysql> show variables like 'character\_set\_%';
+--------------------------+--------+
| Variable_name ? ? ? ? ? ?| Value ?|
+--------------------------+--------+
| character_set_client ? ? | utf8 ? | ?
| character_set_connection | utf8 ? | ?
| character_set_database ? | latin1 | ?
| character_set_filesystem | binary | ?
| character_set_results ? ?| utf8 ? | ?
| character_set_server ? ? | utf8 ? | ?
| character_set_system ? ? | utf8 ? | ?
+--------------------------+--------+
?
?
character_set_server:這是設(shè)置服務(wù)器使用的字符集
character_set_client :這是設(shè)置客戶端發(fā)送查詢使用的字符集
character_set_connection :這是設(shè)置服務(wù)器需要將收到的查詢串轉(zhuǎn)換成的字符集
character_set_results :這是設(shè)置服務(wù)器要將結(jié)果數(shù)據(jù)轉(zhuǎn)換到的字符集,轉(zhuǎn)換后才發(fā)送給客戶端
?
?
小總結(jié):1.這樣每次進(jìn)入MYSQL終端運(yùn)行set names utf8;可以搞定亂碼,可是感覺比較煩,因?yàn)橹粚?duì)當(dāng)前的會(huì)話有效,下次進(jìn)入MYSQL仍然要運(yùn)行這個(gè)命令。想在MY。CNF里加上
?
?
character_set_client=utf8
#character_set_server=utf8
character_set_connection=utf8
character_set_database=utf8
character_set_results=utf8
?
但是,這樣不行,加了后MYSQL根本啟動(dòng)不起來,只能設(shè)置character_set_server=utf8這個(gè),別的設(shè)置不了,如果 有哪個(gè)兄弟搞定了,麻煩告訴我一聲!
?
?

2.. mysql 字符集要設(shè)成utf8,可以在安裝時(shí)設(shè)置,也可以在my.cnf里改(需要重新啟動(dòng) mysql
#必須在[mysqld]這段
[mysqld]
default-character-set=utf8
2.jdbc連接無需加characterEncoding,會(huì)自動(dòng)檢測(cè)
jdbc: mysql ://localhost/test
實(shí)際上server端字符集不是utf8的話,加了也沒用(jdbc: mysql ://localhost/test&characterEncoding=UTF-8或者GBK)
可能還會(huì)報(bào)錯(cuò);是utf8的話,加不加都行
3. mysql client記得加--default-character-set
windows平臺(tái):
mysql -u root -p --default-character-set=gbk
linux平臺(tái):
mysql -u root -p --default-character-set=utf8?? (這個(gè)相當(dāng)于進(jìn)入MYSQL后運(yùn)行set names utf8;)
否則進(jìn)去select中文是亂碼,insert中文也不能正確保存

?
4. <%@ page pageEncoding="UTF-8"%>這句是制定客戶端的瀏覽器以什么字符查看本頁面,
???? 相當(dāng)于FIREFOX瀏覽器里的“查看”--》“字符編碼”--》“UTF-8”,當(dāng)然如果制定. <%@ page pageEncoding=“GB2312"%>那么查看本頁面的瀏覽器里的字符編碼變?yōu)镚B2312

JSP讀出MYSQL數(shù)據(jù)庫時(shí)的亂碼問題解決方案


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 一级一毛片 | 亚洲欧美久久精品 | 亚洲综合图片网 | 国产精品一区二区四区 | 偶偶福利视频 | 亚欧洲精品在线视频免费观看 | 亚洲精品福利一区二区三区 | 欧美孕妇乱大交xxxxx | 97福利影院| 久久精品国产亚洲综合色 | 国产精品综合久成人 | 久久精品国产99久久99久久久 | 久久99热只有视精品6国产 | 色综合综合色 | 久久久久久久国产视频 | 亚洲欧美日本国产综合在线 | 国产欧美日韩精品综合 | 日韩在线免费视频 | 奇米第七色 | 高清一级做a爱过程免费视频 | 波多野结衣乳巨码无在线观看 | 精品91自产拍在线观看99re | 久久亚洲热 | 中文字幕一区二区三区永久 | 亚洲第一综合色 | 亚洲三级欧美 | 91在线高清 | 国产另类图片 | 手机看高清特黄a大片 | a欧美在线 | 天天做天天玩天天爽天天 | 国产片91人成在线观看 | 欧美一级视频免费 | 国产精品嫩草研究所永久网址 | 色婷婷香蕉 | 亚洲欧美日韩国产精品网 | 国产h版大片在线播放 | 国产精品视频久久久久久 | 免费福利视频网站 | 99热久久国产这里有只有精品 | 日韩精品一区二区三区 在线观看 |