1樓:匿名使用者
在使用中常常遇到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卻是等號。
靜態檔案使用:
總結:【只有在mysql中可以使用「utf-8」的別名「utf8」,但是在其他地方一律使用大寫「utf-8」。】
具體為:
在命令「mysql_query(set names utf8)」外一律用大寫「utf-8」。
2樓:
字元均使用雙位元組來表示,只不過為區分中文,將其最高位都定成1。 至於utf-8編碼則是用以解決國際上字元的一種多位元組編碼,
utf8 和 utf-8 有什麼區別
3樓:tutu天然呆
區別如下:
1、「utf-8」是標準寫法,php在windows下邊英文不區分大小寫,所以也可以寫成「utf-8」。「utf-8」也可以把中間的「-」省略,寫成「utf8」。一般程式都能識別,但也有例外(如下文),為了嚴格一點,最好用標準的大寫「utf-8」。
2、在資料庫中只能使用「utf8」(mysql) 在mysql的命令模式中只能使用「utf8」,不能使用「utf-8」,也就是說在php程式中只能使用「set names utf8(不加小橫槓)」,如果你加了「-」此行命令將不會生效,但是在php中header時卻要加上「-」,因為ie不認識沒槓的「utf8」,原因見下文。
3、php中的header:
<?php header('content-type: text/html; charset=utf-8'); ?
> //奇怪了:content-tyep用冒號,chatset卻是等號。
4、靜態檔案使用:
5、總結:
【只有在mysql中可以使用「utf-8」的別名「utf8」,但是在其他地方一律使用大寫「utf-8」。】
6、具體為:
在命令「mysql_query(set names utf8)」外一律用大寫「utf-8」。
4樓:匿名使用者
本質上沒有區別。「utf-8」是標準寫法,在windows下邊英文不區分大小寫,所以也可以寫成「utf-8」。「utf-8」也可以把中間的「-」省略,寫成「utf8」。
一般程式都能識別,但也有例外(如下文),為了嚴格一點,最好用標準的大寫「utf-8」。
在mysql資料庫中只能使用「utf8」
在mysql的命令模式中只能使用「utf8」,不能使用「utf-8」,也就是說在php程式中只能使用「set names utf8(不加小橫槓)」,如果你加了「-」此行命令將不會生效,但是在php中header時卻要加上「-」,因為ie不認識沒槓的「utf8」,原因 見下文。
在ie瀏覽器中只能使用「utf-8」
ie中如果使用了「utf8」,頁面可能會 空白 或 顯示為亂碼。
但是在其它瀏覽器卻是正常的,原因是因為:其它瀏覽器預設使用的是utf-8的編碼,如果無法識別頁面的編碼就會用預設的utf-8來解碼,但 是ie的預設編碼是gb2312,所以預設的話就。。。。。(其它瀏覽器指「firefox」、「chrome」、「opera」)
總結【只有在mysql中可以使用「utf-8」的別名「utf8」,但是在其他地方一律使用大寫「utf-8」。】
具體為:
在命令「mysql_query(set names utf8)」外一律用大寫「utf-8」。
--eof--
utf-8和gbk有什麼區別?
5樓:靠名真tm難起
gbk是在國來家標準gb2312基礎上擴容源後相容gb2312的標準(好像還不bai是國家標準)。
dugbk編碼專門用來解決中文編
zhi碼的,是雙位元組的dao。不論中英文都是雙位元組的。
gbk包含全部中文字元;
utf-8則包含全世界所有國家需要用到的字元。
6樓:百猜不中
起初用的是7個比bai特的duascii表示美國的字元,之後規zhi定了8個位元dao代表1個位元組,ascii升級為8個位元。專
人們為世界屬所有字元都編了碼,叫做unicode(統一字元碼)。在被編了碼的字元中,很多字元是不經常使用的,用太長的位元組表示不但浪費記憶體,而且大大降低讀寫資料庫的速度(所以高效能的資料庫都以ascii為基礎,比如oracle資料庫),所以提出了utf-8(unicode格式轉換器)。
utf-8很靈活,長度為1到6個位元組,utf-8中的8表示1個字元的長度至少是8個位元。
utf-16比較靈活,長度為2到4個位元組,utf-16中的16表示1個字元的長度至少是16個位元。
utf-32不靈活,長度固定4個位元組,utf-32中的32表示1個字元的長度至少是32個位元。
用utf-8表示英文字元用1個位元組,表示 中文用3個位元組。
gbk是中國造的字元編碼標準,長度為2個位元組。能表示2的16次方個符號,世界上大部分的符號都可以表示了。
7樓:匿名使用者
字元均使用雙bai位元組來表示,只不du過為區分中文,
8樓:建設工程監理
進度控制的主要方法包括進度控制的行政方法、經濟方法和管理技術方法
9樓:匿名使用者
徹底搞定各種編碼ascii、ansi、gbk、utf
utf-8和utf-16有什麼區別?
10樓:海天盛
一丶 不同的含義
1. utf-8:將unicode字符集的抽象**位對映為8位長整數(即**位)進行資料儲存或傳輸的序列。
2. utf-16: unicode字符集的抽象**位被對映到一個16位長整數序列(即**位),用於資料儲存或傳輸。
二丶不同的編碼規則
1. utf-8:如果只有一個位元組,則最高的二進位制位為0;如果是多位元組,第一個位元組從最高位開始,值為1的連續二進位制位的數量決定了編碼的位元組數,其餘的位元組都從10開始。
2. utf-16:正在使用大尾序列和小尾序列的儲存。在macintosh中生成或儲存的文字採用大端格式,而在microsoft或linux中生成或儲存的文字採用小端格式。
三丶優點和缺點是不同的
1. utf-8:可以通過掩蔽位和移位操作快速讀寫。在比較字串時,strcmp()和wcscmp()返回相同的結果,從而簡化了排序。
2. utf-16:大多數字符以固定長度的位元組(2位元組)儲存,但utf-16與ascii編碼不相容。
11樓:匿名使用者
一、指代不同
1、utf-8:把unicode字符集的抽象碼位對映為8位長的整數(即碼元)的序列,用於資料儲存或傳遞。
2、utf-16:把unicode字符集的抽象碼位對映為16位長的整數(即碼元)的序列,用於資料儲存或傳遞。
二、編碼規則不同
1、utf-8:如果只有一個位元組則其最高二進位制位為0;如果是多位元組,其第一個位元組從最高位開始,連續的二進位制位值為1的個數決定了其編碼的位元組數,其餘各位元組均以10開頭。
2、utf-16:大尾序和小尾序儲存形式都在用。以macintosh製作或儲存的文字使用大尾序格式,以microsoft或linux製作或儲存的文字使用小尾序格式。
三、優缺點不同
1、utf-8:可以通過遮蔽位和移位操作快速讀寫。字串比較時strcmp()和wcscmp()的返回結果相同,因此使排序變得更加容易。
2、utf-16:大部分字元都以固定長度的位元組 (2位元組) 儲存,但utf-16卻無法相容於ascii編碼。
12樓:植曉蘭
utf是 unicode translation format,即把unicode轉做某種格式的意思。 在unicode基本多文種平面定義的字元(無論是拉丁字母、漢字或其他文字或符號),一律使用2位元組儲存。而在輔助平面定義的字元,會以**對(surrogate pair)的形式,以兩個2位元組的值來儲存。
unicode是一種編碼方式,和ascii是同一個概念,而utf是一種儲存方式(格式)。 在jvm內部,虛擬機器管理資料(記憶體裡)時,或者在進行物件序列化的時候,字元(串)都是以unicode編碼方式的。 但是在jvm中,字元(串)是以char 這種(儲存)形式存放的,一個char佔2個位元組(例如可以定義char c='字'),就是「字」和「z」是同樣佔2個位元組的;而在物件序列化後,物件是進行utf-8儲存的,一箇中文佔2個位元組,而英文、數字等只佔一個位元組,可以參看下面的連結。
所以導致系列化以後的物件只佔平時的大約一半的空間(當全是中文時佔用相同的空間;全是英文時unicode佔用的空間是utf-8的2倍)。 utf-16比起utf-8,好處在於大部分字元都以固定長度的位元組 (2位元組) 儲存,但utf-16卻無法相容於ascii編碼。
記得采納啊
utf-8和gb2312有什麼區別啊
13樓:
不同的編碼。
各個國家和地區所制定的不同 ansi 編碼標準中,都只規定了各自語言所需的「字元」。比如:漢字標準(gb2312)中沒有規定韓國語字元怎樣儲存。
這些 ansi 編碼標準所規定的內容包含兩層含義:
1. 使用哪些字元。也就是說哪些漢字,字母和符號會被收入標準中。所包含「字元」的集合就叫做「字符集」。
2. 規定每個「字元」分別用一個位元組還是多個位元組儲存,用哪些位元組來儲存,這個規定就叫做「編碼」。
各個國家和地區在制定編碼標準的時候,「字元的集合」和「編碼」一般都是同時制定的。因此,平常我們所說的「字符集」,比如:gb2312, gbk, jis 等,除了有「字元的集合」這層含義外,同時也包含了「編碼」的含義。
「unicode 字符集」包含了各種語言中使用到的所有「字元」。用來給 unicode 字符集編碼的標準有很多種,比如:utf-8, utf-7, utf-16, unicodelittle, unicodebig 等。
1、iso-8859-1:
最簡單的編碼規則,每一個位元組直接作為一個 unicode 字元。比如,[0xd6, 0xd0] 這兩個位元組,通過 iso-8859-1 轉化為字串時,將直接得到 [0x00d6, 0x00d0] 兩個 unicode 字元,即 "öð"。
反之,將 unicode 字串通過 iso-8859-1 轉化為位元組串時,只能正常轉化 0~255 範圍的字元。
2、gb2312,big5,shift_jis,iso-8859-2
把 unicode 字串通過 ansi 編碼轉化為「位元組串」時,根據各自編碼的規定,一個 unicode 字元可能轉化成一個位元組或多個位元組。
反之,將位元組串轉化成字串時,也可能多個位元組轉化成一個字元。比如,[0xd6, 0xd0] 這兩個位元組,通過 gb2312 轉化為字串時,將得到 [0x4e2d] 一個字元,即 '中' 字。
「ansi 編碼」的特點:
1. 這些「ansi 編碼標準」都只能處理各自語言範圍之內的 unicode 字元。
2. 「unicode 字元」與「轉換出來的位元組」之間的關係是人為規定的。
3、utf-8,utf-16,unicodebig
與「ansi 編碼」類似的,把字串通過 unicode 編碼轉化成「位元組串」時,一個 unicode 字元可能轉化成一個位元組或多個位元組。
與「ansi 編碼」不同的是:
1. 這些「unicode 編碼」能夠處理所有的 unicode 字元。
2. 「unicode 字元」與「轉換出來的位元組」之間是可以通過計算得到的。
utf8與utf8mb4相容嗎,utf8mb4和utf8有什麼區別
utf8mb4相容utf8,且比utf8能表示更多的字元。至於什麼時候用,看的做什麼專案了,到 看unicode編碼區 從1 126就屬於傳統utf8區,當然utf8mb4也相容這個區,126行以下就是utf8mb4擴充區,什麼時候需要儲存那些字元,才用utf8mb4,否則只是浪費空間。整理 mys...
asp網頁檔案編碼 utf 8和gb
大多asp個人部落格程式是ut8編碼的。如果在此程式加上其他gb2312編碼的程式,大多會出現亂碼。有人稱這是所加入的程式編碼不規範造成的。頁首缺少這局 language vbscript codepage 936 加入這句或在ut8程式的句尾加入 session.codepage 936 就可以解...
關於將excel匯出成utf 8編碼的csv檔案的問題
一點設計演示 設定方法 設定office語言環境 以office 2003為例 開始選單 microsoft office microsoft office工具 microsoft office 2003語言設定,將microsoft office應用程式預設方式的語言設為 中文 簡體 使用記事本開...