導航:首頁 > 解決方法 > java參數亂碼解決方法

java參數亂碼解決方法

發布時間:2023-03-14 10:05:47

1. 如何解決Java項目中的中文亂碼

  1. 設置工作空間的編碼:

    編輯器的編碼會影響到所有的項目中的字元的顯示,可以說是作用最為廣泛的設置,每一個項目都會受到這個設置的影響。點擊菜單欄中的窗口(Window)— —選項(Preferences)。

    點擊常規(General)— —工作空間(Wordspace),然後在右側的文本文件編碼格式(Text file encoding)中選擇你想要設置的編碼格式,系統默認的格式為GBK。

  2. 設置項目的編碼:

    如果其他的項目中不存在亂碼問題,只是個別項目顯示時出現亂碼,那麼我們不需要設置工作空間的編碼,只需要修改項目的編碼即可。

    選中項目後,右鍵點擊,在彈出的菜單中點擊屬性(Properties)。

    在彈出的屬性窗口中,選擇資源(Resource)— —點擊選擇Other(其他),然後選擇你想要的編碼格式。

  3. 設置單個文件的編碼:

    只是個別文件出現了亂碼,那麼設置個別文件的編碼格式就可以解決問題了。選中有亂碼的文件,然後點擊右鍵。

    在彈出的菜單中選擇屬性(Properties)。

    在彈出的屬性窗口中選擇資源,點擊Other(其他)後設置個別文件的編碼方式

2. 在java中怎樣處理中文亂碼的問題(有幾種處理方式)

讀取文件的時候如果是用的read方法(位元組流),碰到中文輸出就是亂碼,然後存儲的時候設置下編碼為GBK或者是UTF-8形式即可,可以有效的解決亂碼問題。
可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
System.out.println(str);//原樣輸出讀到的內容
};
備註: 流用完之後必須close掉,如上面的就應該是:bre.close(),否則bre流會一直存在,直到程序運行結束。
可以通過「FileOutputStream」創建文件實例,之後過「OutputStreamWriter」流的形式進行存儲,舉例:
OutputStreamWriter pw = null;//定義一個流
pw = new OutputStreamWriter(new FileOutputStream(「D:/test.txt」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.txt」實例
pw.write("我是要寫入到記事本文件的內容");//將要寫入文件的內容,可以多次write
pw.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。

3. JAVA開發中,常見的亂碼有哪幾種,如何解決

1、瀏覽器調用jsp,html等頁面中文顯示亂碼
此情況需滿足兩個要求:

(1)文件本身是以utf-8編輯保存的(myEclipse中在properties中滑鼠右鍵選擇utf-8)
(2)瀏覽器用utf-8解析:
(手動)==> 在瀏覽器中右鍵選擇編碼格式為utf-8
(智能)==> 在文件中寫入如: <meta name="content-type" content="text/html; charset=UTF-8"> 通過<meta>標簽模擬response頭,起到告訴瀏覽器用utf-8的編碼解析
(智能)==> response.setContentType("text/html;charset=UTF-8");起到告訴瀏覽器用utf-8的編碼解析
常用:
<meta name="content-type" content="text/html; charset=UTF-8">或<meta charset="utf-8">

<%@ pageEncoding="utf-8"%>
<?xml encoding="UTF-8"?>

2、通過瀏覽器調用servlet,頁面顯示亂碼。
Servlet亂碼分為request亂碼和response亂碼;
(1)response亂碼問題
解決方法

在網上很有效的解決方法是添加:
response.setCharacterEncoding("UTF-8");
解決不了,後來又搜到一條解決方法是:
response.setContentType("text/html;charset=utf-8");或者 response.setHeader("content-type","text/html;charset=UTF-8");告訴瀏覽器用utf-8解析。(setHeader是HttpServletResponse的方法。如果想在攔截器Filter中設置字元編碼,則無此方法,因為Filter的doFilter方法的參數類型是ServletResponse)
兩句都填上,後來終於解決了這個問題;
其實我們應該思考一下本質:

response.setContentType("text/html;charset=UTF-8"); 目的是為了控制瀏覽器的行為,即控制瀏覽器用UTF-8進行解碼;
response.setCharacterEncoding("UTF-8");目的是用於response.getWriter()輸出的字元流的亂碼問題。如果是response.getOutputStream()是不需要此種解決方案的,因為這句話的意思是為了將response對象中的數據以UTF-8解碼後的位元組流發向瀏覽器;

4. [Java]如何解決亂碼問題

亂碼的話,分為幾個位置的亂碼。
一、是JSP頁面亂碼問題,
解決方式:<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
二、後台向前端傳輸字元串的的亂碼
解決方式: response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
三、Ajax非同步傳參時的亂碼問題
解決方法:contentType:"application/x-www-form-urlencoded; charset=utf-8",
四、myEclips或Eclips打開文件時亂碼
解決方法:右鍵該文件-porperties-把該文件調為UTF-8的格式
純手寫,請給採納

閱讀全文

與java參數亂碼解決方法相關的資料

熱點內容
上皮樣血管平滑肌脂肪瘤治療方法 瀏覽:665
17拼音拼讀的教學方法 瀏覽:994
手機支架方法圖片 瀏覽:248
排氣管漏水怎麼辦最簡單的方法 瀏覽:276
尼龍乾熱收縮率檢測方法 瀏覽:10
女生發燒有哪些退燒方法 瀏覽:746
提肌訓練方法大全 瀏覽:955
氧化鋁原料檢測方法及儀器 瀏覽:708
先天性畸形治療方法 瀏覽:849
流式細胞儀使用方法 瀏覽:537
哪裡有修煉的方法 瀏覽:804
側方30公分線最佳找點方法 瀏覽:709
夾布條的最佳方法 瀏覽:992
做事方法分析 瀏覽:832
紅石電路密室教學方法 瀏覽:404
地下水滅蟻靈的檢測方法 瀏覽:717
纖維長度測量方法 瀏覽:457
草席上的油漬怎麼去除最快方法 瀏覽:708
碘131治療甲亢方法 瀏覽:417
通草與作用及食用方法 瀏覽:286