資料庫亂碼解決方案

來源:互聯網
上載者:User

標籤: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”)方法設定編碼格式。

資料庫亂碼解決方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.