ISO-8859-1 против UTF-8?

Что следует использовать и когда? или всегда лучше использовать UTF-8? или ISO-8859-1, все еще имеет значение в конкретных условиях?

Является ли набор символов связан с географической областью?


Edit:

Есть ли какая-либо польза для этого кода @charset "utf-8";

или как это <link type="text/css; charset=utf-8" rel="stylesheet" href=".." />

в верхней части файла CSS?

Я нашел для этого

Если DreamWeaver добавляет тег, когда вы добавить в документ встроенный стиль, это ошибка в DreamWeaver. Из Часто задаваемые вопросы по W3C:

"Для деклараций стиля, встроенных в документ, правила @charset не необходимо и не должно использоваться".

Спецификация кодировки является частью CSS с версии 2.0 (май 1998), поэтому если у вас есть спецификация кодировки в CSS файл и Safari не могут его обработать, что ошибка в Safari.

и добавьте accept-charset в форме

<form action="/action" method="post" accept-charset="utf-8">

и что следует использовать, если я использую xhtml doctype

<?xml version="1.0" encoding="UTF-8"?>

или

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

Ответ 1

Юникод захватывает и уже превзошел всех остальных. Я предлагаю вам прыгать на поезде прямо сейчас.

Обратите внимание, что существует несколько вариантов юникода. Джоэл Спольский дает обзор.

Unicode is winning (Ток графика от февраль 2012 г., см. Комментарий ниже для более точных значений.)

Ответ 2

UTF-8 поддерживается везде в Интернете. Только в конкретных приложениях это не так. Вы всегда должны использовать utf-8, если сможете.

Недостатком является то, что для таких языков, как китайский, utf-8 занимает больше места, чем, скажем, utf-16. Но если вы не планируете ехать на китайском, или даже если вы поедете по-китайски, то utf-8 в порядке.

Единственными минусами против использования utf-8 является то, что он занимает больше места по сравнению с различными кодировками, но по сравнению с западными языками он почти не требует дополнительного места, за исключением особо специальных символов, и лишних байтов, с которыми вы можете жить, Мы в 2009 году.;)

Ответ 3

Если вы хотите мировое господство, используйте UTF-8 полностью, потому что это охватывает каждого человека доступный в мире, включая азиатский, кириллический, иврит, арабский, греческий и т.д., а ISO-8859 ограничивается только латинскими символами. Вы не хотите, чтобы Mojibake.

Ответ 4

Я нахожу iso-8859-1 очень полезным на нескольких сайтах, где у меня есть клиенты, отправляющие мне текстовые файлы, созданные в Word или Publisher, которые я могу легко вставлять в середине кода PHP и не беспокоиться об этом - особенно там, где речь идет о котировках. Это локальные, американские компании, в тексте на страницах буквально нет другой разницы, и я не вижу недостатка в использовании этого набора символов на этих конкретных страницах. Все остальные - UTF-8.

Ответ 5

  • ISO-8859-1 - отличная кодировка для использования, когда пространство является премиум-классом, и вам только захочется кодировать символы с базовых латинских языков, которые он поддерживает. И вам никогда не придется когда-либо планировать когда-либо совершенствовать свое приложение для поддержки нелатинских языков.

  • utf8 - это фантастический способ: (a) использовать большую базу кода из 8 бит на библиотеки кода символов, которые уже существуют, или (б) быть евро снобом. utf8 кодирует стандартный ascii в 1 байт на символ, латинский 1 в 2 байта на символ, восточно-европейский и азиатский языки получают 3 байта на символ. Он может достигать 4 байтов на символ, если вы начнете пытаться кодировать древние языки, которые не существуют в базовой многоязычной плоскости.

  • utf16 - отличный способ начать новую кодовую базу с нуля. Его полностью нейтральная культура - everone получает справедливые руки 2 байта на каждого персонажа. Для древних/экзотических языков требуется 4 байта на символ, что означает - в худшем случае - его плохой, как его старший брат:

  • utf32 - это пустая трата пространства.