第一次建表不知什麼原因,utf-8不能容納多個中文字元,就先用gb2312代替建表,結果伺服器資料庫移植時遇到編碼問題,頭痛至極。這次閑時,重建立表實驗證明utf-8可以承受多中文字元,這樣,以後就可以盡量避免字元轉化不清的問題了,方法如下:
mysql建表:
create table t_utf8
(
id int not null auto_increment,
title varchar(20) not null,
contnet varchar(300) defalut null,
primary key ('id')
)begin=MyISAM DEFAULT CHARSET =UTF8;
註:查詢資料庫時候把資料庫的預設字元集設定成gb2312,否則開啟資料庫將看到一堆??。
php程式:
<?php
$link = mysql_connect(host,username,pwd)
mysql_select_db(database,$link);
/*
插入中文字元
mysql_query("SET NAMES utf8"); //保證插入到資料庫中為utf-8資料
$re = mysql_query("insert into t_utf8(title,content) values('中文字元','中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集中文字元集')");
*/
mysql_query("SET NAMES utf8"); //保證以utf-8輸出資料
$re = mysql_query("select * from t_utf8");
while($row = mysql_fetch_array($re))
{
echo " ".$row[1]."<br/>".$row[2];
}
?>