1.在代碼開始出加入一行:
header("Content-Type: text/html;charset=utf-8");php
2.PHP文件編碼問題html
點擊編輯器的菜單:「文件」->「另存爲」,能夠看到當前文件的編碼,確保文件編碼爲:UTF-8,
若是是ANSI,須要將編碼改爲:UTF-8。 mysql
3.JS讀Cookie的中文亂碼問題 sql
PHP寫cookie的時候須要將中文字符進行escape編碼, 不然JS讀到cookie中的中文字符將是亂碼。 但php自己沒有escape函數,咱們新寫一個escape函數: 數據庫
function escape($str) { preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(ord($v[0]) < 128) $ar[$k] = rawurlencode($v); else $ar[$k] = "%u".bin2hex(iconv("UTF-8","UCS-2",$v)); } return join("",$ar); }
JS讀cookie的時候,用unescape解碼,而後就解決cookie中有中文亂碼的問題了。cookie
1.用phpmyadmin建立數據庫和數據表 編輯器
建立數據庫的時候,請將「整理」設置爲:「utf8_general_ci」 ,或執行語句:函數
CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
建立數據表的時候:若是是該字段是存放中文的話,則須要將「整理」設置爲:「utf8_general_ci」,若是該字段是存放英文或數字的話,默認就能夠了。編碼
相應的SQL語句,例如:url
CREATE TABLE `test` ( `id` INT NOT NULL , `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ;
2.用PHP讀寫數據庫
在鏈接數據庫以後,加入兩行:
mysql_query("set character set 'utf8'");//讀庫 mysql_query("set names 'utf8'");//寫庫
就能夠正常的讀寫MYSQL數據庫了。
節選自:http://www.cnblogs.com/rickyNote/archive/2012/04/09/2438704.html