jsp解决mysql乱码_jsp+mysql时乱码的解决
剛來了sohu.blog,那就來個(gè)原創(chuàng)吧.
由于最近不知道發(fā)什么神經(jīng)了,非常喜歡mysql(那是免費(fèi)的吖,誰不喜歡呢),而jsp就學(xué)了10多天,然后我聽說jsp+mysql在進(jìn)行相連操作的時(shí)候會(huì)經(jīng)常出現(xiàn)亂碼的情況.那我就把心一橫,我也來試試吧.
誰知道一試,在jsp里使用mysql官方所提供的mysql驅(qū)動(dòng)程序,果然在jsp里insert之后出現(xiàn)亂碼的情況.然后在網(wǎng)上找了N多的資料試了一下,還是不行,又說聽mysql官方的驅(qū)動(dòng)對中文支持不太好,最好使用mm.mysql驅(qū)動(dòng),那又在網(wǎng)上找了驅(qū)動(dòng)來下載,結(jié)果還是沒有辦法,亂碼仍然存在.
就在我在csdn里亂逛,尋找解決方法的時(shí)候,不經(jīng)意間看到一遍文章,是要先指定mysql的字符集,不僅是在my.ini文件里指定,而進(jìn)入mysql時(shí)也要指定, mysql --default-character-set=gbk -uroot -p
這樣的話,進(jìn)入了mysql客戶端管理程序,就可以指定一個(gè)字符集了,然后現(xiàn)在建一個(gè)數(shù)據(jù)庫,再insert的話,問題依舊存在,沒辦法,再找方法.然而又找到了一個(gè),說在連接字符串里要加個(gè)編碼下去,然后又寫了一下
String url="jdbc.mysql://localhost:3306/數(shù)據(jù)庫名?useUnicode=true&characterEncoding=gbk"
要這里去寫,然后在DriverManager.getConnection()里用.
然而,加了還不行,真是禍不單行,看了很多的文章了,說到的問題都已經(jīng)寫上了.包括在jsp里寫
然后獲取傳遞的參數(shù)的時(shí)候,也轉(zhuǎn)換了編碼了
String parame=new String(request.getParameter("param").getBytes("ISO8859_1","GBK");
結(jié)果還是不行,沒辦法,只好在mysql數(shù)據(jù)庫里下手,終于在不經(jīng)意間寫了個(gè)建數(shù)據(jù)庫和表的,竟然行了.腳本如下:
CREATE DATABASE MyDemo DEFAULT CHARSET=GBK;
USE Mydemo;
CREATE TABLE Temp(
ID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(50) NOT NULL,
PASSWORD VARCHAR(20) NOT NULL)
ENGINE=INNODB DEFAULT CHARSET=GBK;
這樣,在mysql困擾了我兩天的情況下,問題終于解決了.現(xiàn)在可以安心用mysql了.
希望對學(xué)習(xí)mysql+jsp的朋友有幫助..
總結(jié)
以上是生活随笔為你收集整理的jsp解决mysql乱码_jsp+mysql时乱码的解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TensorFlow官方发布剪枝优化工具
- 下一篇: mysql采用 级触发_Mysql高级之