iT邦幫忙

DAY 5
3

遭遇PHP之經驗分享系列 第 5

[鐵人賽Day5]PHP MySQL讀取中文時亂碼問題

當我們在製作PHP的時候經常會發現編碼會出問題,通常會在以下區域加入編碼語法:

一、將網站語系改變
1.於 HTML head meta標籤 指定編碼為 UTF-8

     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

(若是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");
?>

上一篇
[鐵人賽Day4]上傳中文名稱檔案,會無法上傳
下一篇
[鐵人賽Day6]關於PHP加密與解密
系列文
遭遇PHP之經驗分享30

尚未有邦友留言

立即登入留言