2012-06-27 57 views
8

我只是好奇,現在有一些默認的UTF-8以外的系統。我在多個位置上有一整天的人員,mysql系統可以有不同的編碼。非常令人沮喪。爲什麼一切都不默認爲UTF-8?

有什麼好的理由不使用utf-8作爲默認(並且存儲空間似乎不是一個好理由)?不要試圖說服力,只是好奇。

THX

+4

主要是因爲很多「現代」系統實際上並不現代(或者至少已經存在了一段時間),因此不得不擔心向後兼容性。 – Amber

+0

所以我不是說'不支持'其他編碼,但似乎如果一切都設置爲UTF-8,可以避免很多頭痛。我想到了切換默認值的麻煩(比如在mysql的情況下),但我真的有點不明白。 – timpone

+1

切換默認值是一個巨大的痛苦。 – Amber

回答

-1

一些編碼有不同的字節順序(小和大尾數)

+1

UTF8標準化了字節排序...這是怎麼回事問題? –

+0

因爲某些系統可能不使用標準字節排序。您可能需要使用不同的編碼來支持該系統的字節順序。 – cmastudios

+0

http://unicode.org/faq/utf_bom.html#bom5使用UTF-8的BOM:「.. UTF-8可以包含BOM,但是對於字節流的字節順序沒有區別。」所以BOM參數對於UTF-16是有效的,但UTF-16通常不能與ASCII互換。 – 2012-06-27 03:52:49

6

曾幾何時沒有Unicode或UTF-8,和不同的編碼方案是在世界各地使用。

直到1988年,才發佈了最初的unicode提議,其目標是以共同編碼方式編碼所有世界字符。

1991年的第一次發佈涉及許多字符表示,但是,直到2006年巴釐語,楔形文字,N'Ko,Phags-pa和腓尼基語才被加入。

在此之前,腓尼基人和其他人無法用UTF-8表示他們的語言,這讓許多程序員不知道爲什麼一切都不僅僅是UTF-8的默認。

+0

1991年是21年前的事情,並且對所命名的文化充滿尊重,我懷疑那些是(或已經或將會在未來的未來)足夠大的電腦/軟件市場阻止切換到更合理的方式(爲世界其他地區)違約二十年。這是一個非常薄弱的​​原因。 – delnan

+0

遷移需要一定的時間,僅僅因爲unicode的第一個版本在1991年並不意味着它被即時採用,而且還不完全,這就是爲什麼我們都仍然有這些編碼問題。很多現有數據仍然以unicode以外的編碼方式進行編碼。 – monkut

+0

然後解釋一下,而不是漫無目的地回答你顯然想要給出的答案。 – delnan