前幾天在進行PHP學習的時候,發現兩個地方出現了亂碼:
1. 網頁端:一些入門者(比如作者本人)在寫PHP文件的時候都是通過文本編輯器直接編輯的,網頁頭並沒有聲明字符集,所有網頁調用了某個字符集(反正不是utf-8),在文本編輯器裏看着正常,但是在網頁就變成亂碼了,解決方法就是在php頂部插入以下代碼:
<?php header("Content-Type:text/html;charset=utf-8"); ?>
2. 數據庫:問題主要出現在從php腳本向表裏插入中文數據後,數據庫裏的數據顯示爲問號,我百度了很久這個問題,百度上說各種設置字符集,幾乎把mysql的所有字符集設置項目都設置了一次,我按照這種方法試過,依然無效,後來纔在論壇上找到解決方案:
問題在於,create database時沒有設置字符集,導致數據庫使用了默認字符集,解決這個問題需要在後面加入 charcater set utf8;
create database test charcater set utf8;