作者banana2014 (香蕉共和國)
看板PHP
標題Re: [請益] phpmyadmin 中文顯示亂碼
時間Fri Apr 15 01:14:24 2016
※ 引述《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
: 先謝謝大家
==== 新增MySQL資料表時需注意的事項====
1. 記得「資料表」編碼一定要設成「
utf8_unicode_ci」(在上方導覽列的「操作」按鈕
,點下去以後找到資料表選項這個field,再來找到編碼與排序項,選擇「
utf8_unicode_
ci」即可)
2. 在各網頁的MySQL連線程式碼後方加上「mysql_query("SET NAMES UTF8");」這句。
只要動這兩項就好了,其他的建議別動或更改
當然,在每篇的html前也一定要加:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,
不然不手動設定編碼的話還是會出現亂碼的
就這樣即可安心享用MySQL以及PHP網頁程式了。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.192.217
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1460654066.A.139.html
※ 編輯: banana2014 (125.227.192.217), 04/15/2016 01:22:23
推 GALINE: 這年頭要用 utf8mb4_unicode_ci 噢 04/15 12:04
推 latria: 有做了,還是亂碼>< 04/15 20:20
推 a60301: utf8mb4 是因為 utf8 不夠用嗎? 04/18 00:21
推 a60301: 等等,所以utf8mb4是因為MySQL裡面的utf8僅支援3bytes嗎? 04/18 00:25
推 a60301: 用 utf8mb4 會自動補足 4 bytes 所以是固定大小的儲存… 04/18 00:29