mysql tomcat亂碼全攻略!

2022-09-19 19:39:11 字數 2581 閱讀 8305

一:mysql引起的亂碼解決方案

一般由以下幾種原因引起:

(1)j**a中處理中文字元正常,在cmd client中顯示亂碼是字符集的問題.

(2)字段長度設定夠長,但插入中文字元時提示   com.mysql.jdbc.mysqldatatruncation: data truncation: data too long for column錯誤是字符集的問題.

(3)亂碼問題歸根到底是字符集的問題,那就從字符集設定方面考慮,不外乎下面幾個方面:server,client,database,connection,results.

-------------------------解決辦法----------------------

(1)修改 my.ini(mysql server instance configuration 檔案)

# client section

[client]

port=3306

[mysql]

default-character-set=utf-8

# server section

[mysqld]

default-character-set=utf-8

(2)修改data目錄中相應資料庫目錄下的db.opt配置檔案

default-character-set=utf-8

default-collation=utf8_general_ci

(3)資料庫連線串中指定字符集

url=jdbc:mysql://yourip/college?user=root&password=yourpassword&useunicode=true&characterencoding=utf-8

(4)在建立資料庫時指定字符集

create database yourdb character set utf-8;

ok,經過以上4個方面的設定,基本上mysql引起的亂碼問題已經解決!

二:tomcat下的亂碼解決方案

首先將亂碼問題分為三類jsp頁面顯示中文亂碼;表單提交亂碼;資料庫應用亂碼

1,jsp頁面內輸出中文時出現亂碼

解決方案在jsp檔案中使用page命令指定響應結果的mime型別,如<%@ page   language="j**a" contenttype="text/html;charset=utf-8" %>

2,表單提交亂碼(分為post和get兩種提交方式)

使用request.getparameter方法得到亂碼,這是因為tomcat處理提交的引數時預設的是iso-8859-1,表單提交get和post處理亂碼問題不同,下面分別說明。

(1)post處理方式

對post提交的表單通過編寫乙個過濾器的方法來解決,過濾器在使用者提交的資料被處理之前被呼叫,可以在這裡改變引數的編碼方式,

過濾器的**如下:

} web.xml檔案加入過濾器:

filefilter

com.webim.search.filefilter

encoding

utf-8

ignore

true

tomcat對post和get的處理方法不一樣,所以過濾器不能解決get的亂碼問題,它需要在其他地方設定。

開啟\conf目錄下server.xml檔案,找到對8080埠進行服務的connector元件的設定部分,給這個元件新增乙個屬性:uriencoding="utf-8"。修改後的connector設定為:

usebodyencodingforuri="true"     uriencoding="utf-8" disableuploadtimeout="true" />

* 注意修改後重新啟動tomcat才能起作用。

上面這一點修改很重要,我在工作中就遇到過這樣的亂碼問題,配置好後就解決了!很實用!

(3)資料庫的亂碼在前面已經介紹!

Url Rewrite Filter 使用全攻略

參考資料 http tuckey.org urlrewrite 官方站點 3.2 配置web.xml 基本上覆制以下 就可以了 view plaincopy to clipboardprint?urlrewritefilter org.tuckey.web.filters.urlrewrite.ur...

測試全攻略

include class1.h include include cppunit testrunner.h include cppunit testresult.h include cppunit testresultcollector.h include cppunit extensions he...

安全攻防筆記

nmap vv o ssuv top ports 1000 n t4 open pn oa 192.168.38.139 min rate 10000 192.168.38.139 掃瞄效果 詳細的結果顯示 作業系統識別 top1000埠掃瞄及指紋識別 包含tcp和udp 不查詢dns 優化響應時間...