在Jsp/Servlet中的中文解決辦法 (轉)
在/中的中文解決辦法:namespace prefix = o ns = "urn:schemas--com::office" />
的中文問題一直很讓人頭痛。也許是因為有中文有很多字符集的緣故吧。
這裡我們先說Servlet的問題。
眾所周知,Servlet是需要預先編譯的,就不得不談到java的編譯問題。
Java內容是使用Unicode字符集的。所以基本上可以對大多數語言提供支援(當然,如果你會某種特殊的不常見的語言,Java就不一定支援了),所以相對來說,Java對多語言的支援相當好,甚至你可以使用中文的類名和中文的方法名,編譯執行同樣沒有問題。但是大多數的操作並不是都對Unicode提供良好的支援,至少Javac預設是使用系統自帶的字符集來進行編譯,例如:如果你的是中文,那麼你的預設字符集就是GBK;如果你使用的是日文的win2k,那麼你的預設字符集就是MS932。而Javac預設是系統的字符集進行編譯,也就是Javac中的Encoding引數預設的是使用系統的字符集。知道了這一點這個問題就容易解決了。如果你的中包含了不被當前系統預設字符集支援的字元,那麼你需要制定你的字符集來進行編譯了。不過偶爾也會有一些問題,不過這個不是java的問題了。就拿記事本來說,如果你用記事本寫程式那麼儲存程式的時候就會使用記事本預設的Ansi字元編碼方式來儲存。這種情況同樣也容易導致亂碼的產生,所以在使用的時候最好同時制定他的編碼方式。
現在說說Jsp的問題。
這個處理起來相對簡單一些,只要你在頁頭上指定了類似to:%25@page%20language=%22java%22%20contentType=%22text/html;charset=UTF-8%22%20%25">%@page language="java" contentType="text/html;charset=UTF-8" %這樣的語句,基本上就沒有問題了。同樣需要你的IDE制定一個字元編碼,避免出現亂碼問題。
以上簡單的解決了中文亂碼的問題。不過我個人覺得這並不是一個最好的解決辦法,因為你還受到系統和IDE的字符集的限制,在實現跨平臺的時候還是容易出現問題。我要接受我比較欣賞的一種方法,也許這種方法大家現在都已經在用了。
我推薦使用Properties來儲存相應的文字資訊,這樣做有如下優點:
1. 可以很靈活的替換文字,實現多語言介面。
2. 可以根本性的避免亂碼問題
第一點我不說大家也能體會得到。重點說說第二點。
中自帶了一個nactive2acsii的命令,這個命令是把當前字元轉化成ascii字元。
當前並不是所有的作業系統都支援unicode或者其他的什麼字元編碼,但是據我所知對於ascii碼都是支援的,所以我們只要把我們的文字轉化成ascii碼就可以了。而透過nactive2acsii就可以實現這個功能了。這個程式在Java_Home/Bin下面。各位可以自己試驗一下。
版權歸iBeyond所有,你也許可以透過得到更多資訊,和我聯絡。來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-961044/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Servlet接收JSP引數亂碼問題解決辦法薦ServletJS
- windows XP CMD中無法輸入中文的解決辦法Windows
- Java讀取檔案中含有中文的解決辦法 (轉)Java
- JSP顯示中文問題的解決方案(轉)JS
- Jsp Unescaped xml character報錯的解決辦法JSXML
- Springmvc中文亂碼解決辦法SpringMVC
- centos 中文亂碼解決辦法2CentOS
- 處理JSP中的中文 (轉)JS
- JSP/Servlet基礎語法JSServlet
- datastage抽取工程中文亂碼解決辦法AST
- ubuntu中文顯示亂碼解決辦法Ubuntu
- LoadRunner中文出現亂碼的解決辦法
- html裡顯示中文亂碼的解決辦法HTML
- 記錄web中的servlet轉發及jsp的接受WebServletJS
- 深入剖析JSP和Servlet對中文的處理JSServlet
- myeclispe中向mysql中插入中文資料出現??問題解決辦法LispMySql
- phpmyadmin在PHP7中顯示空白的解決辦法!PHP
- win下cmd不能顯示中文解決辦法
- Live mesh 在xp無法安裝的解決辦法
- 在IDEA中maven工程中父工程不顯示的解決辦法IdeaMaven
- SYBASE程式設計中的莫名錯誤及其解決辦法 (轉)程式設計
- jsp、servlet關於中文問題再談JSServlet
- JSP 語法詳解(轉)JS
- 在Linux Mint中安裝Clion遇到CMake Error的解決辦法LinuxError
- JSP中無法使用內建物件解決方法JS物件
- 【轉】vue mounted 呼叫兩次的解決辦法Vue
- ORA-04031的傻瓜解決辦法(轉)
- 轉載--packagekit鎖住yum的解決辦法Package
- Session丟失的解決辦法小結 (轉)Session
- Django Admin 錄入中文錯誤解決辦法Django
- JqueryQrcode生成二維碼不支援中文的解決辦法jQuery
- PL/SQL Developer-中文註釋亂碼的解決辦法SQLDeveloper
- 報錯資訊 The jsp:param action must not be used outside the jsp:include, jsp:forward, or jsp:params elements 的原因及解決辦法JSIDEForward
- MySql中limit子查詢的解決辦法MySqlMIT
- Linux Mint下Qt Creator無法輸入中文解決辦法LinuxQT
- Java Servlet和JSP教程(6)(轉)JavaServletJS
- Java Servlet和JSP教程(7)(轉)JavaServletJS
- Java Servlet和JSP教程(8)(轉)JavaServletJS