我在撰寫簡易從PHP撈出,欄位名稱及欄位內容,但我發現撈出來的資料怎麼會是亂碼呢?
一、錯誤情形
id | name | account | password | sex | birthday | url | telephone | address | contact | memo | |
4 | ?? | ting | ting2233 | ? | 1982-06-21 | ting@edu.tw | NULL | 0960523422 | ?????????150? | 1 | NULL |
二、處理方式
原來我在撈取欄位內容,少在程式內加入mysql_query("SET NAMES UTF8");
這個動作是在告訴資料庫在字元編碼轉換過程,必須使用UTF8編碼方式。
三、成功結果
id | name | account | password | sex | birthday | url | telephone | address | contact | memo | |
4 | 趙婷 | ting | ting2233 | 女 | 1982-06-21 | ting@edu.tw | NULL | 0960523422 | 屏東縣屏東市天津街150號 | 1 | NULL |
四、程式範例
<?php
/**連線資料庫*/
$db_link=@mysql_connect("localhost","root","Takming");
/**開啟資料庫 */
$select_db=@mysql_select_db("learn");
/**設定撈出來的資料不會是中文亂碼 */
mysql_query("SET NAMES UTF8");
/**判斷是否連線成功 */
if($select_db)
{
//echo "success connection成功";
/**查詢資料庫條件 */
$sql_query="select * from member where account='ting'";
/**執行查詢 */
$result=mysql_query($sql_query);
/**建立表格 */
echo "<table border='1'>";
echo "<tr align='center'>";
for($i=0;$i<mysql_num_fields($result);$i++)
{
echo "<td>".mysql_fetch_field($result)->name."</td>";
}
while($row=mysql_fetch_row($result))
{
echo "<tr>";
for($j=0;$j<mysql_num_fields($result);$j++)
{
echo "<td>$row[$j]</td>";
}
echo "</tr>";
}
echo "</tr>";
}
else
{
echo "fail";
}
/**關閉資料庫 */
mysql_close($db_link);
?>
|
五,參考連結
文章標籤
全站熱搜
留言列表