Re: [請益] phpmyadmin 中文顯示亂碼

看板PHP作者 (CC)時間8年前 (2016/04/16 01:10), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《latria (silly)》之銘言: : 各位好, : 我知道亂碼問題已有許多討論串, : 我也爬過文了 : 可是問題還是不知道出在哪裡>< : 如果有漏爬還請多多見諒 : 問題: : 於"網頁"輸入中文至"phpmyadmin",於"phpmyadmin"檢視,中文呈現為"亂碼" : 於 "網頁" 檢視,中文呈現為"正常" : 於"phpmyadmin"輸入中文至"網頁",於 "網頁" 檢視,中文呈現為"問號" : 於"phpmyadmin"檢視,中文呈現為"正常" : 截圖: : 網頁 http://imgur.com/Y8HUZfw
: phpmyadmin http://imgur.com/Wrupaky
: 開發環境是Cloud9,用 MySQL 連結 phpmyadmin : 已確認過 : 1.html是否加上 : <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> : 2.form表單是否加上 : header("Content-Type:text/html; charset=utf-8"); : 3.phpmyadmin資料庫,資料表,欄位編碼皆已設為utf8_general_ci : 4.連結資料庫的檔案也有加上mysql_query("SET NAMES 'UTF8'"); : 5.也有將php.ini的檔案做修改 : http://imgur.com/zoPeaYs
: 以下是程式碼截圖 : http://imgur.com/a/oFT10 : 先謝謝大家 因為沒玩過 cloud9, 剛剛去弄了帳號順便測試你的問題 結果我也遇到了 xD 這邊列一下我怎樣設定讓它正常運作的 這兩個是基本要的: 1. 建資料表時使用 utf8mb4_general_ci 2. html header裡加上 <meta charset="UTF-8"> 這邊的方法擇一即可 1. 修改 /etc/mysql/my.cnf a) 在 [client] 底下加一行 default-character-set=utf8 b) 在 [mysqld] 底下加一行 character-set-server=utf8 2. 使用 PDO: new PDO("mysql:host=localhost;dbname=c9;charset=utf8", "xxxxx", "xxxxx"); 3. 使用 mysqli: $mysqli = new mysqli("localhost", "xxxxx", "xxxxx", "c9"); $mysqli->set_charset("utf8"); 或是非物件的方式: $mysqli = mysqli_connect("localhost", "xxxxx", "xxxxx", "c9"); mysqli_set_charset($mysqli, "utf8"); 根據 php 官方的文件 http://php.net/manual/en/mysqli.set-charset.php 不建議使用 "SET NAMES UTF8", 而是使用 set_charset 就夠了 這樣我在 phpmyadmin 裡面輸入的中文, 就可以正常顯示了 我沒有另外測試使用 php 寫入資料庫, 但應該也會正常了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.68.230.200 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1460740246.A.F5C.html

04/17 15:31, , 1F
謝謝w大,已站內問題
04/17 15:31, 1F

04/17 22:43, , 2F
解決了,真的萬分感謝!!!
04/17 22:43, 2F

04/19 21:02, , 3F
我都是用 1 的方式
04/19 21:02, 3F
文章代碼(AID): #1N4I2MzS (PHP)
文章代碼(AID): #1N4I2MzS (PHP)