关于utf8和utf-8

来源:互联网 发布:natapp 指定端口 编辑:程序博客网 时间:2024/05/29 06:34

今天写网站,发现我在网页表单中填写的汉字字符传到mysql数据库中,用phpmyadmin查看传到的那些中文字符,全都变成了乱码,而用phpmyadmin在数据库中直接添加的数据,在phpmyadmin中可以正常显示,但显示到网页上,也是乱码,于是各种查资料,发现一个问题:

若你使用的是mysql数据库,在php代码中,如果你用mysql_query(set names utf-8);那就大错特错了,utf-8这个编码格式根本不会被识别,所以这句话就不会执行,只有这样写mysql_query(set names utf8);才会被识别,网页和phpmyadmin中汉字的显示才会都正常。

于是得出,mysql中没有utf-8,只有utf8,而html中没有utf8,只有utf-8。

也就是说,在mysql数据库中只能使用utf8,,但是,在php文件中html代码中的head部分,却需要用utf-8,因为浏览器不认识没有“-”的utf8,必须写成这样:<meta http-equiv="content-Type content="text/html; charset=utf-8"/>

总结:其实utf8是utf-8的别名,但是,只有mysql中可以使用这个别名,其他情况下一律使用utf-8才可以被识别。