前几天在进行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;