程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jsp中文問題解決方案(完整版)

jsp中文問題解決方案(完整版)

編輯:關於JSP

開發java應用出現亂碼是很常見的,畢竟現在unicode的使用還不是很廣泛,在使用gb2312(包含了gbk簡體,big5繁體)的系統中要正確實現 中文的display和數據庫的存儲是最基本的要求。 1,首先developer要明確自己為什麼會遇到亂碼,遇到什麼樣的亂碼(無意義的符號還是一串問號或者其它什麼東西)。新手遇到一堆很亂的字符時通常不知所措,最直接的反映就是打開google搜索”java中文”(這個字符串在搜索引擎上的查詢頻率非常高), 然後一個一個的去看別人的解決方法。這樣做沒有錯,但是很難達到目的,原因下面會提到。總之,出現亂碼的原因是非常多的,解決的方法也完全不一樣,要解決


開發java應用出現亂碼是很常見的,畢竟現在unicode的使用還不是很廣泛,在使用gb2312(包含了gbk簡體,big5繁體)的系統中要正確實現

中文的display和數據庫的存儲是最基本的要求。


1,首先developer要明確自己為什麼會遇到亂碼,遇到什麼樣的亂碼(無意義的符號還是一串問號或者其它什麼東西)。
新手遇到一堆很亂的字符時通常不知所措,最直接的反映就是打開google搜索”java中文”(這個字符串在搜索引擎上的查詢頻率非常高),

然後一個一個的去看別人的解決方法。這樣做沒有錯,但是很難達到目的,原因下面會提到。
總之,出現亂碼的原因是非常多的,解決的方法也完全不一樣,要解決問題必須先分析自己的”上下文環境”。

2,具體說來,需要哪些信息才能確定項目中的亂碼的根源。
a,開發者所用的操作系統
b,j2ee容器的名稱,版本
c,數據庫的名稱,版本(精確版本)以及jdbc驅動的版本
d,出現亂碼的source code(比如是system out 出來的,還是jsp頁面中的,如果是jsp中的,那麼頭部聲明的情況也很重要)

3,如何初步分析亂碼出現的原因。
有了上述的信息,基本上就可以發帖求助了,相信放到javaworld等論壇上,很快就會有高手給你提出有效的解決方案的。
當然不能總靠發帖求助,也要試試自行解決問題。如何下手呢?
a,分析一下你的”亂碼”到底是什麼編碼。這個其實不難,比如
System.out.println(testString);
這一段出現了亂碼,那麼不妨用窮舉法猜測一下它的實際編碼格式。
System.out.println(new String(testString.getBytes(”ISO-8859-1″),”gb2312″));
System.out.println(new String(testString.getBytes(”UTF8″),”gb2312″));
System.out.println(new String(testString.getBytes(”GB2312″),”gb2312″));
System.out.println(new String(testString.getBytes(”GBK”),”gb2312″));
System.out.println(new String(testString.getBytes(”BIG5″),”gb2312″));
等等,上述代碼的意思是用制定的編碼格式去讀取testString這個”亂碼”,並轉換成gb2312(此處僅以中文為例)
然後你看哪一個轉換出來的結果是ok的,那就。。。

b,如果用上面的步驟能得到正確的中文,說明你的數據肯定是在的,只不過是界面中沒有正確顯示而已。那麼第二步就該糾正你的view部分了

,通常需要檢查的是jsp中是否選擇了正確的頁面編碼。

在此要聲明被很多人誤解的一點,那就是<%@ page contentType=”text/html; charset=GB2312″ %>指令和<META http-equiv=Content-Type

content=”text/html; charset=gb2312″>兩者的不同。通常網上的很多文章在提到中文問題時都是說數據庫中選擇unicode或者gb2312存儲,同

  • 共9頁:
  • 上一頁
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 下一頁

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved