java中出現(xiàn)問(wèn)號(hào)亂碼的原因和解決方法

今天就跟大家聊聊有關(guān)java中出現(xiàn)問(wèn)號(hào)亂碼的原因和解決方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、麟游網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開(kāi)發(fā)、麟游網(wǎng)絡(luò)營(yíng)銷、麟游企業(yè)策劃、麟游品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供麟游建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:bm7419.com

在基于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ān)于此類問(wèn)題的總結(jié)。

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)題了。

看完上述內(nèi)容,你們對(duì)java中出現(xiàn)問(wèn)號(hào)亂碼的原因和解決方法有進(jìn)一步的了解嗎?如果還想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。

網(wǎng)站欄目:java中出現(xiàn)問(wèn)號(hào)亂碼的原因和解決方法
分享網(wǎng)址:http://bm7419.com/article44/gejsee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、自適應(yīng)網(wǎng)站網(wǎng)站制作、Google建站公司、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)