作者watelee (Wade Lee)
看板Database
標題[SQL ] 如何將JSP+MySQL的編碼從Big5轉成utf8?!
時間Sat Jun 1 22:11:49 2013
最近在做資料庫的報告
網頁是用jsp來寫的
用JDBC-ODBC連結到MySQL的資料庫
設定成utf8網頁顯示英文數字都是正常的
但是中文就會出現亂碼
但Big5全部都正常沒亂碼
我jsp檔前面都有加
<%@ page contentType="text/html; charset=utf8" import="java.sql.*"%>
檔案的編碼也是utf8
MySQL Connector/ODBC Driver的character set也設成utf8了
但只要是中文就都會是亂碼
該怎麼做才能以utf8正常的顯示呢?
感謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.136.211.19
1F:→ jeamie:有檢查欄位編碼是什麼嗎? 06/02 02:20
CREATE TABLE `book` (
`bkid` char(7) NOT NULL,
`bkname` varchar(50) NOT NULL,
`Author` varchar(30) NOT NULL,
`bkprice` int(8) NOT NULL,
`publisher` varchar(30) NOT NULL,
`pubdate` date NOT NULL,
`ISBN` varchar(13) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
這是我創的table
照理說應該欄位都是utf8阿
※ 編輯: watelee 來自: 49.158.8.164 (06/02 15:20)
2F:推 darkdebug:我問個問題,你把中文寫到db時,db下command看到的是什麼? 06/02 19:44
3F:→ darkdebug:這有兩個部份,讀出來亂碼還是寫進去亂碼 06/02 19:44
4F:→ watelee:寫進去都正常,用cmd看到的中文都正常,但是傳到jsp後用瀏覽 06/02 22:18
5F:→ watelee:器看就亂碼,但只有從DB傳來的中文會是亂碼,寫在jsp裡的中 06/02 22:19
6F:→ watelee:文就正常不是亂碼 06/02 22:20
7F:推 iFEELing:試看看直接用 java mysql driver 不要透過ODBC轉.... 06/02 23:15
8F:→ watelee:剛剛改成了jsp檔裡面pagecontentType的charset=utf8,然後 06/03 00:11
9F:→ watelee:Mysql connector/ODBC 的Character set為Big5以後就正常了 06/03 00:13
10F:→ watelee:= =整個超納悶的,這是怎麼回事? 06/03 00:14
11F:推 cult2:創見DB時就需指定utf8 06/04 10:45
12F:→ iFEELing:oops 你用 windows 吧? windows 的charset是 MS950/BIG5 06/04 22:47
13F:→ lbeeon:如果是php的話可以考慮用iconv 06/07 01:19