jsp傳值給jsp中文亂碼 傳值給數據庫亂碼的解決方法
所有的用到編碼的全部統一utf-8
1.裝mysql的時候有選擇編碼的界面的那個地方選utf-8編碼
2 建數據庫的時候選擇 字符集 排序規則全部utf8 -- UTF-8 Unicode utf8_general_ci
3 建立表的時候 字符集 排序規則全部和上面一樣
到這裡數據庫那邊的好了
接下來是jsp端
4 所有jsp頁面的頭部添加
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page contentType="text/html; charset=UTF-8" %>
5 連接數據庫的javaservlet裡面
String cc="com.mysql.jdbc.Driver";
String server="jdbc:mysql://127.0.0.1:3306/test1?useUnicode=true&characterEncoding=UTF-8";
String user="root";
String pwd="";
6 工程的web.xml裡面頭部
7.用tomcat的朋友在配置裡server.xml裡面
頭部
接著有人說配置tomcat的配置文件server.xml裡這句:
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
加上這句:URIEncoding="UTF-8"
8.忘記一條在建工程的時候也要utf-8,右擊工程屬性裡面resource裡面設置
到這裡全部修改完畢我相信你就不會出現亂碼了哈哈。
強調下如果是jsp傳值jsp你還可以用強轉功能的
String name=request.getParameter("name");修改為
String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");
這樣可以顯示中文了就。當然很麻煩如果太多。