MySQL和php採用UTF8的方法

2022-09-10 21:48:30 字數 1928 閱讀 8063

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...