※ 引述《andreli (小狗跟正妹是我的死穴)》之銘言:
: 之前開發使用ZF都可以正常顯示沒有問題,
: 但是最近重裝系統後中文字全都變成亂碼了,
: 其他非使用ZF開發的專案中文字都顯示沒有問題,
: 目前自己除錯發現到的是:
: 1. 直接從phpMyAdmin(pMA)裡面新增資料的話, 資料從pMA中看到的不是亂碼),
: 但是從ZF的model取出來的畫面就會是亂碼。
: 2. 使用ZF的form寫入資料的話, 資料在phpMyAdmin看會是亂碼,
: 但是網頁畫面正常顯示不是亂碼。
: 所以我想應該是兩個系統使用到不同的編碼,
: 但是我也在config裡面設定了
: resources.db.params.driver_options.1002 = "SET NAMES utf8"
: phyMyAdmin裡面的顯示資訊:
: 伺服器: localhost (MySQL host info: localhost via TCP/IP)
: 伺服器版本: 5.1.36-community-log
: 通訊協定版本: 10
: 使用者: root@localhost
: MySQL 文字編碼: UTF-8 Unicode (utf8)
: meta也是顯示utf-8
: 不知道有沒有前輩發生過相同的事, 可以指點我一下,
: 是我的資料庫原本的東西都是假utf8嗎...
: 謝謝您的抽空瀏覽
先感謝大家的回覆, 大家說的我之前都用過, 但是不知道為什麼就是不成功,
最後我還是猜測自己資料庫應該是假UTF-8的方向解決,
也找到病原提供給以後的人做參考。
我的問題的確出在資料庫的編碼問題, 在MySQL輸入以下語法:
SHOW VARIABLES LIKE '%character%';
顯示出來我的character_set_database仍舊是latin1
character_set_client utf8
character_set_connection utf8
character_set_database latin1
但是照理來說SET NAMES應該是會更改上面三個參數的, 但是我不知道為何不行,
所以我就去更改了my.ini,
隨便找個位置加入:
default-character-set=utf8
然後重開MySQL就OK了, 謝謝大家的回覆, 希望這篇文章可以對以後的人有幫助。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.120.2.70