我的步驟如下:
檢查config.properties.php,確定$config['db_character_set'] = 'utf8'
mysqldump -u root -p lifetype > test.sql
test.sql裡的中文是正常的,檢查編碼是utf8沒錯,開頭有一堆內容如下:
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
在phpmyadmin裡新開一個資料庫,校對選擇utf8_unicode_ci,將test.sql匯入,結果中文字為『???』,但網頁顯示正常;
如果將開頭那一些內容拿掉,結尾也有類似的內容也拿掉之後,存檔後再將test.sql匯入,則phpmyadmin裡中文顯示正常,但網頁顯示為亂碼。
以前有遇過類似的問題,網頁和phpmyadmin顯示一邊正常,另一邊是問號,但那是phpmyadmin的問題,修正後就正常,這次真的是不知道如何是好了。
救狼喔~~~