utf8 和 UTF-8 在使用中的区别
开发过程中,经常看到 UTF-8 和 utf8,那么 utf8 和 UTF-8 有什么区别呢?
"UTF-8"是标准写法,php 在 Windows 下边英文不区分大小写,所以也可以写成"utf-8"。"UTF-8"也可以把中间的"-"省略,写成"UTF8"。一般程序都能识别,但也有例外,为了严格一点,最好用标准的大写"UTF-8"。
在数据库中只能使用 "utf8" (MySQL) ,在 mysql 的命令模式中只能使用 "utf8",不能使用 "utf-8",也就是说在 PHP 程序中只能使用 "set names utf8" (不加小横杠),如果你加了 "-" 此行命令将不会生效,但是在 php 中 header 时却要加上"-",因为IE不认识没杠的"utf8",如下:
PHP中的header:
<?php header('Content-Type: text/html; charset=UTF-8'); ?> //奇怪了:Content-Tyep用冒号,Chatset却是等号。
静态文件使用:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
总结:只有在MySQL中可以使用"utf-8"的别名"utf8",但是在其他地方一律使用大写 "UTF-8"。(在命令 "mysql_query(set names utf8)" 外一律用大写 "UTF-8")