Java解決通信過(guò)程的中文亂碼的問(wèn)題
Java解決通信過(guò)程的中文亂碼的問(wèn)題
前言:
Java的編程中,經(jīng)常會(huì)碰到漢字的處里及顯示的問(wèn)題,比如一大堆亂碼或問(wèn)號(hào)。
這是因?yàn)镴AVA中默認(rèn)的編碼方式是UNICODE,而中國(guó)人通常使用的文件和DB都是基于GB2312或者BIG5等編碼,故會(huì)出現(xiàn)此問(wèn)題。
如果文件一打開就亂碼,可以通過(guò)修改軟件的編碼或者修改文件的編碼就可以覺得這個(gè)問(wèn)題。而若是在java的通信中,或者數(shù)據(jù)庫(kù)操作之類的其他軟件進(jìn)程通信時(shí),就容易產(chǎn)生亂碼。
1、在網(wǎng)頁(yè)中輸出中文。
JAVA在網(wǎng)絡(luò)傳輸中使用的編碼是”ISO-8859-1”,故在輸出時(shí)需要進(jìn)行轉(zhuǎn)化,如:
String str="中文"; str=new String(str.getBytes("GB2312"),"8859_1");
但假如在編譯程序時(shí),使用的編碼是“GB2312”,且在中文平臺(tái)上運(yùn)行此程序,不會(huì)出現(xiàn)此問(wèn)題,一定要注重。
2、從參數(shù)中讀取中文
這正好與在網(wǎng)頁(yè)中輸出相反如:
str=new String(str.getBytes("8859_1"),"GB2312");
3、操作DB中的中文問(wèn)題
一個(gè)較簡(jiǎn)單的方法是:在“控制面扳”中,把“區(qū)域”設(shè)置為“英語(yǔ)(美國(guó))”。假如還會(huì)出現(xiàn)亂碼,還可進(jìn)行如下設(shè)置:
取中文時(shí):str=new String(str.getBytes("GB2312"));
向DB中輸入中文:str=new String(str.getBytes("ISO-8859-1"));
4、在jsp中的中文解決:
在“控制面扳”中,把“區(qū)域”設(shè)置為“英語(yǔ)(美國(guó))”.
在JSP頁(yè)面中加入:
假如還不行正常顯示,則還要進(jìn)行下面的轉(zhuǎn)換:
如:name=new String(name.getBytes("ISO-8859-1"),"GBK");
就不會(huì)出現(xiàn)中文問(wèn)題了。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Java 解決讀寫本地文件中文亂碼的問(wèn)題
- Java讀取properties配置文件時(shí),出現(xiàn)中文亂碼的解決方法
- Java讀寫.properties文件解決中文亂碼問(wèn)題
- Java讀寫txt文件時(shí)防止中文亂碼問(wèn)題出現(xiàn)的方法介紹
- 解決Java原生壓縮組件不支持中文文件名亂碼的問(wèn)題
- java頁(yè)面中文亂碼的解決辦法
- Java Web開發(fā)項(xiàng)目中中文亂碼解決方法匯總
- Java中HttpServletResponse響應(yīng)中文出現(xiàn)亂碼問(wèn)題
- java中文亂碼之解決URL中文亂碼問(wèn)題的方法
- java中常見的中文亂碼總結(jié)
- Java避免UTF-8的csv文件打開中文出現(xiàn)亂碼的方法
相關(guān)文章
SpringBoot學(xué)習(xí)之Json數(shù)據(jù)交互的方法
這篇文章主要介紹了SpringBoot學(xué)習(xí)之Json數(shù)據(jù)交互的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12springboot中的靜態(tài)資源加載順序優(yōu)先級(jí)
這篇文章主要介紹了springboot中的靜態(tài)資源加載順序優(yōu)先級(jí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09SpringBoot快速搭建實(shí)現(xiàn)三步驟解析
這篇文章主要介紹了SpringBoot快速搭建實(shí)現(xiàn)三步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Springboot動(dòng)態(tài)配置AOP切點(diǎn)詳解
這篇文章主要介紹了Springboot動(dòng)態(tài)配置AOP切點(diǎn)詳解,Springboot 可以定義注解切點(diǎn)去攔截注解修飾的類方法以及execution(xxxx)切點(diǎn)去攔截具體的類方法,默認(rèn)情況下我們都會(huì)使用注解@PointCut去定義切點(diǎn),然后定義切面攔截切點(diǎn),需要的朋友可以參考下2023-09-09java利用Future實(shí)現(xiàn)多線程執(zhí)行與結(jié)果聚合實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于java利用Future實(shí)現(xiàn)多線程執(zhí)行與結(jié)果聚合的相關(guān)資料,Future模式的核心,去除了主函數(shù)的等待時(shí)間,并使得原本需要等待的時(shí)間段可以用于處理其他業(yè)務(wù)邏輯,需要的朋友可以參考下2021-12-12Java中位運(yùn)算(移位、位與、或、異或、非) 的簡(jiǎn)單實(shí)例
Java中位運(yùn)算(移位、位與、或、異或、非) 的簡(jiǎn)單實(shí)例,需要的朋友可以參考一下2013-02-02springboot使用自定義注解實(shí)現(xiàn)aop切面日志
這篇文章主要為大家詳細(xì)介紹了springboot使用自定義注解實(shí)現(xiàn)aop切面日志,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09