程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 解決MYSQL中文亂碼問題三種方法

解決MYSQL中文亂碼問題三種方法

編輯:MySQL綜合教程

解決MYSQL中文亂碼問題三種方法

方法三

1>本文將消除亂碼分為三步:

         >消除頁面亂碼,

         >消除從mysql教程中讀出中文亂碼,

         >消除插入mysql數據庫教程中的中文亂碼;

15>注意編碼表示方式在網頁特效p/jsp.html target=_blank >jsp教程與mysql中的區別,如下:

      jsp: gb2312, gbk, utf-8....

      mysql: gb2312, gbk, utf8....

關鍵問題:編碼,建議統一為gb2312或gbk,本文使用gb2312,gbk未測試;

【step1】: 消除純html頁和jsp頁在tomcat環境下運行的亂碼

   這個是由於流覽器無法選擇編碼方式造成的, 手動從ie中選擇“gb2312”即可解決;也可以網頁中加入meta標記或page指令;

   meta標記如下:

         <meta http-equiv="content-type" content="text/html; ch***t=gb2312">

   page指令如下:

        <%@ page language="java" contenttype="text/html; ch***t=gb2312" pageencoding="gb2312"%>

   前面說明中已經提到, meta在2k下可能不起作用(xp下時了時壞),因為簡單起見,加入page指令似乎是一個一勞永逸的事情;

   總結: 加入page指令,一定可以使純jsp頁面或html頁面在tomcat環境下正常顯示。

【step2】: 消除從mysql數據庫中讀出中文的亂碼

    分為兩個目標: step1: 從mysql客戶端查看中文正常, step2: 從網頁中查看中文正常;

1: 在用sql腳本創建數據庫前,設置mysql的默認編碼方式為“gb2312”,

   此步可以在mysql-administrator-1.1.0-rc-win.msi中完成,或者是mysql server向導;

    這樣設置完畢後再用sql 腳本創建數據庫, 注意如果sql腳本中有設置字符集為latin1或utf-8的語句,一定要刪除。

         已發現目前版本《在線書店》中的sql腳本中帶有設置默認字符集為latin1,一定要刪除!

       創建數據庫完畢後,用mysql cc或mysql admin可檢查所創建的數據庫的字符集,如果正確,則用mysql cc或mysql admin都可以正常查看中文;

2: 一般情況下,到這一步,在網頁中已經基本能正常顯示中文了,但凡事總有例外,可以在數據庫連接串處再特別說明一下:

       string url ="jdbc:mysql://localhost/bookstore?useunicode=true&characterencoding=gb2312";

       conn=drivermanager.getconnection(url,"root","");

   一般情況下用 string url ="jdbc:mysql://localhost/bookstore"應該就能正常顯示中文。

總結:修改mysql server數據庫默認字符集為“gb2312”,從mysql讀出中文可正常顯示;

   例外: 此時仍有可能還有亂碼,如本書光盤中的《在線書店》,請參見前面的說明。

【step3】: 消除插入mysql數據庫中的中文亂碼

   此步比較簡單,在jsp頁面中加入如下代碼:

          request.setcharacterencoding("gb2312");

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved