本文目錄一覽:
- 1、為什麼我的JSP程序想數據庫存入漢字時會出現亂碼?怎麼解決啊?
- 2、JSP數據庫使用中文用戶名就報錯
- 3、用jsp連接mysql數據庫,出現中文亂碼,該怎麼解決啊
- 4、如何徹底解決jsp頁面中文亂碼及數據庫亂碼
- 5、解決:JSP頁面取出數據庫中的中文出現亂碼
- 6、從jsp頁面讀取數據庫 中文變成問號 mysql
為什麼我的JSP程序想數據庫存入漢字時會出現亂碼?怎麼解決啊?
jsp傳值到數據庫出現亂碼,一般有兩個原因:
一種是jsp將數據發送給數據庫時出現亂碼,
一種是數據庫拿到數據後進行存儲是發生亂碼,
出現第一種問題時要去看jsp標籤中是否是為utf-8,再者就要看項目編目是否為utf-8右鍵項目名到preference下可以更改項目編碼。
出現第二種問題時,代表數據庫編碼有問題。右鍵你用的數據庫–數據庫屬性可以更換成utf-8具體視圖如下顯示,
在編碼過程中要保證項目不出現亂碼情況就要在創建項目和數據庫時對其編碼進行上述規定
JSP數據庫使用中文用戶名就報錯
不支持中文。安裝的時候不要安裝在中文目錄下。代碼使用的時候中文要帶「」。要使用STRING 類型
你使用了過濾,你查看一下過濾的代碼
用jsp連接mysql數據庫,出現中文亂碼,該怎麼解決啊
數據庫不是亂碼,是你設置的編碼問題,你用的是cmd來查看的吧,cmd查看的方式的gbk的,和你的數據庫編碼不一樣,就會顯示亂碼
嗯,對呀,所以你頁面顯示沒有問題,數據庫裏面存儲的也沒有問題,而且是用cmd執行sql語句看到的是亂碼問題,沒有問題的
如何徹底解決jsp頁面中文亂碼及數據庫亂碼
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=userpassword=123456useUnicode=truecharacterEncoding=UTF8
如果Mysql版本是5.0以上,這裡的url加不加?user=userpassword=123456useUnicode=truecharacterEncoding=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頁面取出數據庫中的中文出現亂碼
jsp讀取數據亂碼原因如下:
1、JSP連接數據庫語句指定的編碼不正確
解決方案:在JSP連接數據庫的語句中,帶上useUnicode=truecharacterEncoding=UTF-8autoReconnect=true
2、JSP頁面沒有指定數據提交的編碼,就會造成亂碼:
解決方案:這種亂碼的情況,只需在頁面開頭加上request.setCharacterEncoding(“GBK”); 指定提交的即可。
從jsp頁面讀取數據庫 中文變成問號 mysql
從jsp頁面讀取數據庫操作mysql變成問號是因為編碼問題導致。
1.架設服務器安裝MYSQL時的會讓你選擇一種編碼,如果這種編碼與你的網頁不一致,可能就會造成JSP頁面亂碼.
解決方案:如果安裝mysql的編碼已不能更改,很多朋友是購買虛擬主機建立網站,無權更改MYSQL的安裝編碼,這一關我們可以跳過,因為只要後面的步聚正確,一樣能解決亂碼問題
2.在PHPMYADMIN或mysql-front等系統 創建數據庫時會讓你選擇一種編碼,如果這種編碼與你的網頁不一致,也有可能造成JSP頁面亂碼.
解決方案:修改數據庫編碼,如果是數據庫編碼不正確: 可以在phpmyadmin 執行如下命令: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 。這個命令就是將test數據庫的編碼設為utf8
3.創建表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成JSP頁面亂碼
解決方案:修改表的編碼:
ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
這個命令就是將一個表category的編碼改為utf8
4.創建表時添加字段是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成JSP頁面亂碼
解決方案:修改字段的編碼:
ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
這個命令就是將test表中 dd的字段編碼改為utf8
5.用戶提交JSP頁面的編碼與顯示數據的JSP頁面編碼不一致,就肯定會造成JSP頁面亂碼.
解決方案:如果是這種情況容易解決,只需檢查一下頁面,修改源文件的charset即可。如用戶輸入資料的JSP頁面是big5碼, 顯示用戶輸入的JSP頁面卻是gb2312,這種100%會造成JSP頁面亂碼
6.字符集不正確
解決方案:要注意:
1.平時你在某些網站看到的文字可能有幾種編碼, 如你看到一個繁體字,它有可能是big5編碼,也有 可能是utf-8編碼的,更有可能是gb碼的,沒錯,也就是說有簡體編碼的繁體字,也有繁體編碼的簡體字,一定要了解這一點.
2.如果你是做一個簡體編碼的網頁,編碼定為GB2312,如果有香港和台灣地區的訪客提交繁體的信息,就可能會造成亂碼,解決方法就是(A)將網站編碼設為utf-8,這樣可以兼容世界上所有字符, (B)如果網站已經運作了好久,已有很多舊數據,不能再更改簡體中文的設定,那麼建議將頁面的編碼設為GBK,GBK與GB2312的區別就在於:GBK能比GB2312顯示更多的字符,要顯示簡體碼的繁體字,就只能用GBK
7.JSP連接MYSQL數據庫語句指定的編碼不正確
解決方案:在JSP連接數據庫的語句中,帶上
useUnicode=truecharacterEncoding=UTF-8autoReconnect=true,
但是千萬不要犯和我同樣的錯誤哦。
8.JSP頁面沒有指定數據提交的編碼,就會造成亂碼:
解決方案:這種亂碼的情況,只需在頁面開頭加上request.setCharacterEncoding(“GBK”); 指定提交的即可。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/259719.html