看板 PHP 關於我們 聯絡資訊
: 雖然我已經選擇欄位語系為「utf8mb4_unicode_ci」了,但是為什麼它還是會出現亂碼呢? 亂碼這件事情其實滿複雜的...大致上有這些東西 - 你的資料在 DB 裡面被存成什麼編碼 - OK, utf8mb4 - PHP 跟 DB 之間的連線用的是什麼編碼 - 看你怎麼連 DB 的,就用哪種方式來做 mysql_set_charset($conn, 'utf8mb4'); $conn = new PDO('mysql:charset=utf8mb4'); - 你的 PHP 本身會輸出什麼編碼 - php.ini 裡面 default_charset 設定成 UTF-8 (沒有MB4) - 瀏覽器把 PHP 輸出的結果當成什麼編碼 - header('Content-Type: text/html; charset=utf-8'); // 透過 HTTP header 設定 - <head><meta charset="utf-8"></head> // 或是在 html 的 head 區塊設定 我第一個會猜是瀏覽器這邊的問題就是了,這個也最好確認 瀏覽器的功能表裡面找到「語言與編碼」之類的東西 然後選看起來像 unicode 或 utf-8 的選項 如果這樣會從亂碼變成能讀的文字,那就是瀏覽器這段的問題了 -- 這閃電拳能射出雷射光,威力每平方公分一萬億瓦特 威力無比,拳到之處,攻無不克 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.89.5 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1432913566.A.0DB.html
red0whale: 謝謝你 不過不是瀏覽器讀碼的問題 我已經選擇utf-8的選 05/30 16:07
red0whale: 項了 但是他還是亂碼 我覺得是character_set_server這 05/30 16:09
red0whale: 個選項在作祟,縱使其他選項的character_set編碼都已經 05/30 16:10
red0whale: 改成utf8了,這個選項依舊還是latin1,而我是租虛擬主 05/30 16:12
red0whale: 機的,不曉得這個選項的編碼能不能改還是個問題... 05/30 16:13
GALINE: 先ini_set()試看看? 雖然主機給改的機會不高... 05/30 23:52