在使用中常常遇到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”。