2012-06-27 14 views
8

Jestem po prostu ciekawy, że istnieją nowoczesne systemy, które domyślnie są inne niż UTF-8. Miałem blok osoby przez cały dzień w wielu lokalizacjach, w których system mysql może mieć inne kodowanie. Bardzo frustrujące.dlaczego WSZYSTKO nie jest domyślnie UTF-8?

Czy jest jakiś dobry powód, aby nie używać domyślnie utf-8 (a przestrzeń dyskowa nie wydaje się być dobrym powodem)? Nie próbuje być spory, tylko ciekawy.

thx

+4

Głównie dlatego, że wiele "nowoczesnych" systemów nie jest w rzeczywistości nowoczesnych (a przynajmniej nie było ich od jakiegoś czasu) i dlatego muszą się martwić kompatybilnością wsteczną. – Amber

+0

więc nie mówię "nie popieram" innych kodowań, ale wygląda na to, że gdyby wszystko było ustawione na utf-8, można by uniknąć wielu bólów głowy. Mam problem z przełączaniem domyślnych ustawień (jak w przypadku mysql), ale szczerze mówiąc, nie rozumiem tego. – timpone

+1

Przełączanie wartości domyślnych to * ogromny * ból. – Amber

Odpowiedz

-1

Niektóre kodowania mają różne rozkazy bajtowe (mały i duży endian)

+1

UTF8 standaryzuje porządkowanie bajtów ... W jaki sposób ta odpowiedź pytanie? –

+0

Ponieważ niektóre systemy mogą nie używać standardowej kolejności bajtów.Może trzeba użyć innego kodowania do obsługi kolejności bajtów systemu. – cmastudios

+0

http://unicode.org/faq/utf_bom.html#bom5 wrt BOM w UTF-8: ".. UTF-8 może zawierać LM, ale nie ma wpływu na endianię strumienia bajtów." Tak więc argument BOM jest poprawny dla UTF-16, ale UTF-16 zasadniczo nie jest wymienny z ASCII. –

6

Dawno nie było żadnych schematów Unicode lub UTF-8, a rozbieżne kodowania były w użyciu na całym świecie.

Dopiero w 1988 roku została wydana pierwotna propozycja unikodowa, której celem było kodowanie wszystkich znaków na świecie we wspólnym kodowaniu.

Pierwsze wydanie w 1991 roku zawierało wiele postaci, jednak dopiero w 2006 roku dodano balijskie, kujonowe, N'Ko, Phags-pa i Fenicjan.

Do tego czasu Fenicjanie i inni nie byli w stanie przedstawić swojego języka w UTF-8, wkurząc wielu programistów, którzy zastanawiali się, dlaczego wszystko nie jest domyślnie ustawione na UTF-8.

+0

1991 było 21 lat temu, z całym szacunkiem dla kultur, które wymieniłeś, wątpię, że są (lub były lub będą w przewidywalnej przyszłości) wystarczająco dużym rynkiem dla komputerów/oprogramowania, aby zablokować przejście na bardziej sensowną (dla reszty świata) domyślnie przez dwadzieścia lat. To dość słaby powód. – delnan

+0

Migracja zajmuje trochę czasu, ponieważ pierwsze wydanie Unicode w 1991 r. Nie oznacza, że ​​zostało ono natychmiast zaadaptowane, i nadal nie jest w pełni, dlatego wszyscy nadal mamy problemy z kodowaniem. Wiele istniejących danych nadal znajduje się w kodowaniu innym niż Unicode. – monkut

+0

Następnie wyjaśnij, że zamiast włóczyć się nad czymś, co jest ledwo związane z odpowiedzią, którą najwyraźniej zamierzałeś dać. – delnan

Powiązane problemy