Как я могу быть уверен в кодировке файла?
=========================================

У меня есть файл PHP, который я создал с помощью VIM, но я не уверен, какая его кодировка.

Когда я использую терминал и проверяю кодировку командой`file -bi foo` (Моя операционная система Ubuntu 11.04) дает следующий результат:

`text/html; charset=us-ascii`

Но когда я открываю файл с помощью gedit, он говорит, что его кодировка UTF-8.

Который правильный? Я хочу, чтобы файл был закодирован в UTF-8.

Я предполагаю, что в файле нет спецификации и что команда`file -bi` читает файл и не находит никаких символов UTF-8, поэтому предполагается, что он является ascii, но в действительности он закодирован в UTF-8.

 во-первых, обратите внимание, что ASCII является подмножеством UTF-8, поэтому, если ваш файл содержит только символы ASCII, правильно сказать, что он закодирован в ASCIIand правильно сказать, что он закодирован в UTF-8.

Что, как говорится,`file` как правило, для определения его типа проверяется только короткий сегмент в начале файла, поэтому он может объявлять его us-ascii, если есть символы не ASCII, но они находятся за начальным сегментом файла. С другой стороны, gedit может сказать, что файл имеет формат UTF-8, даже если это ASCII, потому что UTF-8 является предпочтительной кодировкой символов gedit, и он намеревается сохранить файл с UTF-8, если вы добавите любой -ASCII символов во время сеанса редактирования. Опять же, если это то, что Gedit говорит, это не будет неправильно.

Теперь к вашему вопросу:

Run this command:

If the output says "0", then the file contains only ASCII characters. It's in ASCII (and it's also valid UTF-8) End of story.

Run this command

If you get an error, the file does not contain valid UTF-8 (or at least, some part of it is corrupted).

If you get no error, the file is extremely likely to be UTF-8. That's because UTF-8 has properties that make it very hard to mistake typical text in any other commonly used character encoding for valid UTF-8.







(в Linux)

он также обеспечивает уровень достоверности [0-1] выходных данных.