回覆列表
-
1 # 小濤1212
-
2 # 掌上合浦
1、在jsp頁中加入一條語句:
<%@ page contentType="text/html;charset=gb2312" %>中文顯示就正常了。
2、對於從網頁中的文字框透過String parameter = request.getParameter(“parameter”);方式獲得的字串,均是8859_1的編碼, 如果想把它顯示在網頁上就必須得用parameter = new String(parameter.getBytes(“8859_1”),”gb2312”)進行轉換,windows和linux這兩種系統都是一樣的。
有一個簡單方法,就是在 getParameter() 方法獲取引數之前,使用request.setCharacterEncoding("GB2312");,將提交的資訊轉化為 GB2312 編碼。
解決jsp中文亂碼問題,採用的方案是統一字符集至UTF-8,同時避免GB2312所帶來的中文字符集不夠用的隱患,需注意的地方有三點,預設情況下是英文字符集。
1、Tomcat 的
server.xml
檔案,設定伺服器埠工作方式;2、Servlet 和 JavaBean 對字串字符集處理的統一;
3、JSP頁面的字符集統一;
如果使用MySQL的話,資料表也需要做UTF-8統一。
1、修改Tomcat的server.xml檔案,該檔案位於 tomcat/conf,紅色部分為新增部分,也就是當前使用的HTTP埠的連線方式的設定。
找到Connector 標籤,使 Tomcat 伺服器以UTF-8模式進行工作,從底層對亂碼進行處理,修改如下:
2、執行程式碼內設定如下:
JavaBean 和 Servlet 內需要處理中文的地方之前,或者所有函式最前端加上
request.setCharacterEncoding ("UTF-8");
response.setCharacterEncoding ("UTF-8");
避免在 JavaBean 和 Servlet 內出現漢字亂碼。
3、JSP程式碼中的 JAVA 字元編碼設定,在頁面上對亂碼進行處理。
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>