根據運行的環境,操作系統可以分為桌面操作系統,手機操作系統,服務器操作系統,嵌入式操作系統等。 jsp出現亂碼的主要原因有兩個: 2113 Java和JSP文件本身5261編譯時出現亂碼問題和其他媒體中的Java程序,以及4102彼此產生亂碼問題. 一個,1653年,首先,Java(包括JSP)源文件可能包含中文,并且Java和JSP源文件根據字節流保存. 如果將Java和JSP編譯成類文件,則使用它們. 如果編碼方法與源文件的編碼方法不一致,則會出現亂碼. 基于此亂碼,建議不要在Java文件中寫中文(注釋部分不參與編譯,寫中文沒關系),如果必須編寫jsp注釋亂碼,請嘗試使用參數-ecoding手動編譯GBK或-e編碼gb2312;對于JSP,向文件頭添加<%@頁面contenttype =“="" text="" html;="" charset="GBK”%">或<%@頁面contenttype =“="" text="" html;="" charset="gb2312”%">基本上可以解決這種亂碼問題.
介紹第二種類型的亂碼,即Java程序與其他存儲介質交互時生成的亂碼. 許多存儲介質(例如,文件,流等)都是基于字節流存儲的. 當Java程序與這些媒體交互時,就會在char和byte之間進行轉換,例如從頁面進行轉換. 以提交形式提交的數據在Java程序中顯示為亂碼. 如果以上轉換過程中使用的編碼方法與字節的原始編碼不一致,則可能會出現亂碼. 第二,解決方案 對于流行的Tomcat,有以下兩種解決方案: 1)更改D: \ Tomcat \ conf \ server.xml并將瀏覽器編碼格式指定為“簡體中文”: 方法是找到server.xml <連接器端口=“ 8080”="" maxthreads="“" 150”="" minsparethreads="“" 25”="" maxsparethreads="“">連接器端口=“> enableLookups =“ false” redirectPort =“ 8443” acceptCount =“ 100” connectionTimeout =“ 20000” disableUploadTimeout =“ true” URIEncoding ='GBK'/> 您可以通過以下方式驗證更改是否成功: 更改之前,在頁面有亂碼的IE瀏覽器中jsp注釋亂碼,單擊菜單“查看|編碼”,您會發現“西歐(ISO)”是已選擇. 更改后,單擊菜單“查看|編碼”,您會發現已選擇“簡體中文(GB2312)”. b)應該像這樣修改Java程序: 公共類ThreeParams擴展了HttpServlet { 公共無效doGet(HttpServletRequest請求,HttpServletResponse響應) 引發ServletException,IOException { response.setContentType(“ text / html; charset = GBK”); ... } } response.setContentType(“ text / html; charset = GBK”);這句話的目的是讓瀏覽器將Unicode字符轉換為GBK字符. 這樣,頁面的內容和瀏覽器的顯示模式將設置為GBK,并且不會出現亂碼.
|
溫馨提示:喜歡本站的話,請收藏一下本站!