1. php 檔本身的編碼格式是 utf8
用ultraedit(v11.20a版) 轉換所有ansi格式的php檔案轉化為utf-8格式:file --> conversions --> ascii to utf-8
(unicoding editing)
( 在ultraedit中按advanced --> configuration -->file handling
--> unicode/utf-8 detection --> 剔選auto detect utf-8
files )
如有需要時,可執行remove bom.php. 當用winxp的notepad將php檔由ansi轉為utf-8時,
因檔頭有bom,會引起排版問題,故必須移除,執行remove bom.php即可自動移除.
remove bom.php可由以下網址下載:
2. mysql 資料表的字段的校對屬性設為 utf8_unicode_ci,就是字段加上
collate utf8_unicode_ci
用於匯入.sql 檔案時 ,尾巴加上
engine=innodb default charset=utf8 collate=utf8_unicode_ci;
create table tablename( id int not
null auto_increment,title varchar(20) not null,contnet varchar(300) de****t null,primary
key ('id')
)engine=innodb default charset=utf8 collate=utf8_unicode_ci;
3. php 在與 mysql 溝通時,要先送出
set names utf8
mysql_query("set names 'utf8'");mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
4. php 在輸出畫面前,要先送出
header('content-type: text/html; charset=utf-8');或者
<5.補充:在php檔中, 如有需要須注意: [optional]
運用htmlentities和htmlspecialchars時,要似如下:
$chars = htmlentities($chars,ent_quotes,"utf-8");
$chars = htmlspecialchars($chars,ent_quotes,"utf-8");
並且在顯示前要用
$chars = html_entity_decode($chars,ent_quotes,"utf8");
如有用過addslashes()或mysql_real_escape_string()記得用以下:
$chars = stripslashes($chars);
如有需要可以用以下function將不同編碼轉換:
$chars = iconv('big5','utf-8',$chars); //由big5轉為utf-8
utf 8 和 utf8的區別小記
utf 8 是標準寫法,php 在 windows 下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程式都能識別,但也有例外 如下文 為了嚴格一點,最好用標準的大寫 utf 8 在資料庫中只能使用 utf8 mysql 在mysql的命令模式中...
為什麼要採用UTF 8編碼
前不久有個問我說修改l blog時老是出現亂碼,好像和其他的中文編碼不一樣,我說因為採用了utf 8編碼。現在大多數程式 bbs blog 都是基於gb2312編碼的,但是為什麼要改用相容性不好 容易亂碼 的utf 8呢?開始我也不了解,直到我看了zola的這片文章才有所了解 中文有三種字符集,統一...
utf8 和 UTF 8 有什麼區別
utf 8 是標準寫法,在windows下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程式都能識別,但也有例外 如下文 為了嚴格一點,最好用標準的大寫 utf 8 在mysql資料庫中只能使用 utf8 在mysql的命令模式中只能使用 ut...