utf8 和 UTF-8 在使用中的區別

2016年10月7日19:41:15 發表評論 4,520 ℃

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

以前沒有注意,有一次換了服務器以后鏈接新數據庫出現亂碼問題,找了半天原因沒找到,最后找到原因就是寫成了set names utf-8,如下圖:

utf8 和 UTF-8 在使用中的區別

 

utf8 和 UTF-8 在使用中的區別

改成utf8以后就顯示正常了。

utf8 和 UTF-8 在使用中的區別

【騰訊云】云服務器、云數據庫、COS、CDN、短信等云產品特惠熱賣中

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: