處理使用php讀取mysql中文亂碼問題

Mindy
1 min readDec 24, 2017

--

在網站讀取mysql時,我們會利用connect.php連結到資料庫,然後藉由insert.php將資料傳進資料庫

> 以下為程式碼

通常利用php讀取mysql產生亂碼時,可能有幾種原因:

  1. mysql資料庫設定:

mysql> SHOW VARIABLES LIKE ‘char%’

會發現許多參數都是latin1,此時需要將latin1改成utf8,利用command line編輯my.cnf 設定

$sudo vim /etc/my.cnf

進入之後在底部加入以下設定

[mysqld]
default-character-set=utf8

character-set-server=utf8

[client]
default-character-set=utf8

2.網頁編碼設定

在執行網頁上確認編碼是否為utf8,網頁上需加入

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

3.mysql設定query為utf8編碼

mysql_query(“set character set ‘utf8’”,$conn);
mysql_query(“SET character_set_database=’utf8'”,$conn);
mysql_query(“SET character_set_client=’utf8'”,$conn);
mysql_query(“SET character_set_results=’utf8'”,$conn);
mysql_query(“SET character_set_server=’utf8'”,$conn);
mysql_query(“SET character_set_connection=’utf8'”,$conn);

--

--