[PHP&MySQL]PHP&MySQL讀取中文時亂碼問題

摘要:[PHP&MySQL]PHP&MySQL讀取中文時亂碼問題

 
當我們在製作PHP的時候經常會發現編碼會出問題,通常會在以下區域加入編碼語法:
 
一、將網站語系改變
1.於 HTML head meta標籤 指定編碼為 UTF-8
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
(若是big5,則要把utf-8的位置設定為big5)
 
2.PHP 傳送 Header 告知瀏覽器網頁是 UTF-8
<?php
     header("Content-Type:text/html; charset=utf-8");
?>
(此處語系要跟資料庫的文字編碼相同)
 
二、PHP連結資料庫後設定語系
在PHP選擇資料庫語法mysql_select_db('XXX');
後方加入mysql_query("SET NAMES UTF8");
告知資料庫在字元編碼轉換過程,必須使用UTF8編碼的方式
 
程式碼如下:
<?php
    $db_host = '127.0.0.1';
    $db_user = 'user_name';
    $db_pass = 'user_password';
    $db_name = 'database_name';
    $conn = mysql_connect($db_host, $db_user, $db_pass) or die('Error MySQL connection');
    mysql_select_db($db_name);
    mysql_query("SET NAMES UTF8");
?>