標籤:local mysql 資訊 create cte 漢字編碼 組件 問題 漢字
在實現資料庫操作時,對於漢子資訊,有時不能正確處理,其原因是由於漢字編碼的不同所造成的。為了正確處理漢字資訊,必須使用漢字編碼使用同一的編碼格式。漢字編碼目前主要使用UTF-8和GB2313。
在設計web應用程式時,涉及漢字資訊編碼的組件有:
(1)資料庫和資料表建立時,所建立的資料庫和資料表及其各欄位的編碼格式。
(2)對資料庫中記錄的讀寫訪問採用的編碼格式。
(3)在JSP頁面之間傳遞參數(request對象)時,返回到用戶端的資訊編碼格式。
(4)在JSP頁面(HTML頁面)中的漢字編碼格式。
(5)由伺服器響應(response),返回到用戶端的資訊編碼格式
在所涉及應用程式時,需要將這幾部分的編碼格式統一為一種漢字的編碼格式,就可以解決漢字亂碼問題。為此,可以採用以下的解決方案:
第一,建立資料庫,資料表是指定資料編碼.
1)建立資料庫的時候要用到UTF-8編碼:
CREATE DATABASE 資料庫名字 default charset=utf-8
2)建立資料表時也用到utf-8編碼:
CREATE TABLE 資料表名字(各欄位及其類型定義)default charset=utf-8;
第二,在串連資料庫時,指定資料庫讀寫的編碼,
例如,串連MySQL資料庫時,聲明採用UTF-8編碼:
Class forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost/demo?user=使用者名稱&password=密碼&useUnicode=ture&characterEncoding=UTF-8";
第三,在含有JSp提交表單的頁面,設定method=“post”,並在接受所提交資訊的頁面或Serlvet程式中,通過request請求對象的request.setCharacterEncoding(“UTF-8”)方法設定編碼格式。
資料庫亂碼解決方案