熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP程序開發中的中文編碼問題[2]

2013-11-15 12:40:35  來源: PHP編程 

  數據庫中的字符集編碼問題

  流行的關系數據庫系統都支持數據庫字符集編碼也就是說在創建數據庫時可以指定它自己的字符集設置數據庫的數據以指定的編碼形式存儲當應用程序訪問數據時在入口和出口處都會有字符集編碼的轉換對於中文數據數據庫字符編碼的設置應當保證數據的完整性GBGBKUTF 等都是可選的數據庫字符集編碼;當然我們也可以選擇 ISO (bit)只是我們得在應

  用程序寫數據之前先將 Bit 的一個漢字或 Unicode 拆分成兩個 bit 的字符讀數據之後也需要將兩個字節合並起來同時還要判別其中的 SBCS 字符因此我們並不推薦采用 ISO 作為數據庫字符集編碼這樣不但沒有充分利用數據庫自身的字符集編碼支持而且同時也增加了編程的復雜度編程時可以先用數據庫管理系統提供的管理功能檢查其中的中文數據是否正確

  PHP 程序在查詢數據庫之前首先執行 mysql_query(SET NAMES xxxx); 其中 xxxx 是你網頁的編碼(charset=xxxx)如果網頁中 charset=utf則 xxxx=utf如果網頁中 charset=gb則xxxx=gb幾乎所有 WEB 程序都有一段連接數據庫的公共代碼放在一個文件裡在這文件裡加入 mysql_query(SET NAMES xxxx) 就可以了

  SET NAMES 顯示客戶端發送的 SQL 語句中使用什麼字符集因此SET NAMES utf 語句告訴服務器將來從這個客戶端傳來的信息采用字符集 utf它還為服務器發送回客戶端的結果指定了字符集(例如如果你使用一個 SELECT 語句它表示列值使用了什麼字符集)

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/PHP/201311/21391.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.