utf8 和 UTF-8 在使用中的區(qū)別

2016年10月7日19:41:15 發(fā)表評(píng)論 4,417 ℃

在使用中常常遇到utf-8和utf8,現(xiàn)在終于弄明白他們的使用不同之處了,現(xiàn)在來(lái)和大家分享一下,下面我們看一下utf8 和 UTF-8 有什么區(qū)別“UTF-8”是標(biāo)準(zhǔn)寫(xiě)法,php在Windows下邊英文不區(qū)分大小寫(xiě),所以也可以寫(xiě)成“utf-8”?!癠TF-8”也可以把中間的“-”省略,寫(xiě)成“UTF8”。一般程序都能識(shí)別,但也有例外(如下文),為了嚴(yán)格一點(diǎn),最好用標(biāo)準(zhǔn)的大寫(xiě)“UTF-8”。

在數(shù)據(jù)庫(kù)中只能使用“utf8”(MySQL) 在MySQL的命令模式中只能使用“utf8”,不能使用“utf-8”,也就是說(shuō)在PHP程序中只能使用“set names utf8(不加小橫杠)”,如果你加了“-”此行命令將不會(huì)生效,但是在PHP中header時(shí)卻要加上“-”,因?yàn)镮E不認(rèn)識(shí)沒(méi)杠的“utf8”,原因見(jiàn)下文。

PHP中的header:

<?php header('Content-Type: text/html; charset=UTF-8'); ?> //奇怪了:Content-Tyep用冒號(hào),Chatset卻是等號(hào)。

靜態(tài)文件使用:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

總結(jié):只有在MySQL中可以使用“utf-8”的別名“utf8”,但是在其他地方一律使用大寫(xiě)“UTF-8”。

具體為:

在命令“mysql_query(set names utf8)”外一律用大寫(xiě)“UTF-8”。

以前沒(méi)有注意,有一次換了服務(wù)器以后鏈接新數(shù)據(jù)庫(kù)出現(xiàn)亂碼問(wèn)題,找了半天原因沒(méi)找到,最后找到原因就是寫(xiě)成了set names utf-8,如下圖:

utf8 和 UTF-8 在使用中的區(qū)別

 

utf8 和 UTF-8 在使用中的區(qū)別

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

utf8 和 UTF-8 在使用中的區(qū)別

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫(kù)、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評(píng)論

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