麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

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>

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 96视频在线免费观看 | 精品国产91久久久久久浪潮蜜月 | 久久久久久久爱 | 黄网站在线免费看 | 久久精品毛片 | 国产精品久久久久久久av | 日韩视频一二三 | 护士xxxx| 国产青草视频在线观看视频 | 国产成人av免费观看 | 国产精品自拍av | 欧美成人激情在线 | 久久久午夜电影 | 涩涩伊人 | 国产精品毛片va一区二区三区 | 91福利在线观看 | 国产毛片毛片毛片 | 午夜精品影院 | 欧美一级毛片美99毛片 | 国产免费看| 九九精品在线播放 | 视频一区国产精品 | 娇喘视频在线观看 | 国产成人精品日本亚洲语音 | 久久人人爽人人爽人人片av高清 | 精品亚洲福利一区二区 | 久久久久久久.comav | av不卡毛片| 国产欧美在线观看不卡一 | 精品一区二区三区在线观看国产 | avav在线播放| 成熟女人特级毛片www免费 | 国产黄网 | 成人免费自拍视频 | 国产精品美女久久久久久不卡 | 久久影城 | 欧美日韩中文字幕在线视频 | 看一级大毛片 | 日本高清一级片 | 99精品欧美一区二区 | 国产精品午夜未成人免费观看 |