国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java中文問題-淺析

2019-11-18 14:29:25
字體:
來源:轉載
供稿:網友

  jsp之中什么問題最難處理?小弟在幾天前想安裝JSP+javabean論壇acJSPbbs,研究了3天之后,明白了答案就是java中處理中文的問題。

acJSPbbs采用的字符編碼是GBK,我采用的是WIN2k系統,正常來說應該是水到渠成的,但是,竟然被我發現,它的javabean中保存入數據庫語句是使用的是ISO8859-1編碼,直接導致所以從數據庫取出的資料全部亂碼,包括:論壇名等常量、用戶發的帖子標題和內容等等。

其實,java系統內部會把全部的字符串統一使用UTF-8編碼,而在內部轉化之前會使用操作系統默認的編碼,其中包括輸入和輸出。要想不亂碼,只需要“統一java系統的輸入、輸出以及操作系統的字符集”,這也是處理java系統漢字的一個原則。原因是由于java的跨平臺特性,字符集必須由具體的操作系統給出。

由此可以得到一個最簡單的解決JSP亂碼的辦法,其中主要需要把握三個環節:
1、開發和編譯代碼時就指定一個字符集,比如ISO-8859-1(西方的系統多數使用這個)
2、確定操作系統的字符集跟1統一,比如也用ISO-8859-1,這樣的OS有很多,linux就是啦
3、假如開發JSP,每個頁面都明確指定字符集:
<%@ page contentType="text/Html;charSet=ISO8859-1" %>

這樣就達到了前面的目標,統一了三者的字符編碼。

這樣的系統雖然很好,沒有亂碼問題,但是顯然是以破壞跨平臺特性為代價換取來的。想要根本解決問題,看來只有將java系統統一為UTF-8編碼,這需要找到所有的出入口。

具體需要注重以下幾個環節:
1、開發和編譯時候指定字符集為UTF-8
2、用過濾器將所有請求轉為UTF-8字符集編碼
假如是用一個servlet控制分配的就在servlet的filter中寫
request.setCharacterEncoding("UTF-8")
假如是用JSP頁面,就在頭部定義
<%@ page contentType="text/HTML;charSet=UTF-8" %>
3、在所有的輸出上包括數據庫連接上都指定使用字符集UTF-8

另外:假如你在做二次開放,就需要重新編譯包,指定使用UTF-8編碼

附:在編譯時指定字符集的語法是javac -encoding <encoding> <sourcefile>

說明:這里很多觀點是引用他人的,但是我自己使用過,是絕對有效的解決辦法。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东辽县| 旬阳县| 东兰县| 永定县| 临猗县| 刚察县| 柳州市| 沂水县| 南华县| 福建省| 修武县| 广汉市| 甘泉县| 长宁区| 正安县| 丹凤县| 临泉县| 大同县| 巴青县| 林州市| 怀化市| 昆明市| 绥滨县| 平武县| 元谋县| 澄城县| 永川市| 隆回县| 厦门市| 明水县| 任丘市| 五常市| 阳城县| 明星| 曲靖市| 读书| 攀枝花市| 郸城县| 丰县| 喀喇沁旗| 浏阳市|