如何徹底解決jsp頁面中文亂碼及資料庫亂碼

來源:互聯網
上載者:User

標籤:

最近自己閑做一個小項目,搭建環境架構SSH+MySQL資料庫,遇到一個問題:jsp頁面中文顯示亂碼,資料庫插入資料和更新資料時中文也顯示亂碼,後來在網上找了許多解決方案,還是折騰了兩天才把問題解決,下面總結一下徹底解決中文亂碼問題:

在項目裡的我統一使用UTF-8的編碼方式

1、知道自己安裝Mysql資料庫安裝配置時選擇了什麼編碼方式,如果之前安裝,現在不太清楚,建議重新安裝Mysql資料庫,安裝配置時選擇utf8

(這裡有個小技巧:不用卸載Mysql資料,找到安裝Mysql資料庫目錄:D:\MySQL Server 5.1\bin下的MySQLInstanceConfig.exe,雙擊運行可以進行重新設定安裝,並選擇utf8編碼方式),

2、安裝成功後,查看編碼方式,sql命令如下:

show variables like ‘character%‘;

這裡的所有編碼方式都要統一為utf8,若某一個不是utf8的編碼方式,就要設定為utf8,sql命令如下:set character_set_results=utf8

3、建立資料庫並指定資料庫的編碼方式,sql命令如下:

create database yourDB character set utf8;

4、建立資料庫表,也要指定其編碼方式

5、如果你的Mysql版本是5.0以下,則還需要在hibernate.cfg.xml配置裡面url指定資料庫訪問串連時的編碼方式:

如:url=jdbc:mysql://localhost/db?user=user&password=123456&useUnicode=true&characterEncoding=UTF8

如果Mysql版本是5.0以上,這裡的url加不加?user=user&password=123456&useUnicode=true&characterEncoding=UTF8 都沒關係

6、寫一個字元編碼的過濾器,編碼方式也要保證跟mysql的字元集一致為UTF-8

注意:在web.xml配置該過濾器時,必須把該過濾器的<filter-mapping>放在struts的映射前面,不然起不到過慮作用

7、所有jsp頁面指定編碼格式,保證跟mysql的字元集一致為UTF-8

注意:頁面裡面大小寫統一,如<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>,不能是pageEncoding="UTF-8",contentType="text/html; charset=utf-8",添加資料頁面也要跟顯示資料頁面的編碼格式要保持一致,不然的話就會出現添加到資料庫中沒亂碼,從資料庫中顯示出現亂碼的情況

如何徹底解決jsp頁面中文亂碼及資料庫亂碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.