Кодировка ISO-8859-1 и MacRoman - PullRequest
0 голосов
/ 26 апреля 2010

У меня есть таблица базы данных MySQL с текстовым полем в кодировке ISO-8859-1, содержащим имена пользователей. Когда я экспортирую это в текстовый файл, используя PHP, я получаю обычный текстовый файл, сохраненный на клиентском компьютере. Когда я открываю его в Word или Excel в системе Windows, это выглядит хорошо. Когда я открываю его на Mac с помощью Word или Excel, символы высокого ascii неверны.

Я знаю, что это связано с тем, что Mac использует MacRoman, а Windows - ISO-8859-1. У меня вопрос, как я могу написать текстовый файл, который откроется на обеих платформах и будет хорошо выглядеть на обеих?

Есть ли какой-нибудь вариант XML, который я могу обернуть вокруг текста, который будет подсказывать Word в том факте, что он закодирован в ISO-8859-1? Какую волшебную пыль я могу посыпать TXT-файлом, чтобы понять, что он использует другую схему кодирования?

1 Ответ

2 голосов
/ 26 апреля 2010

... Я получаю обычный текстовый файл, сохраненный на клиентском компьютере

Вы на самом деле получаете текст в определенной кодировке. Давайте предположим, что это ISO-8859-1.

Я знаю, это связано с тем, что Mac использует MacRoman, а Windows - ISO-8859-1. У меня вопрос, как я могу написать текстовый файл, который будет открываться на обеих платформах и хорошо выглядеть на обеих?

Программное обеспечение, открывающее текстовый документ, должно знать кодировку кодировки. Иногда он может угадать это с помощью некоторой эвристики, иногда он не будет пытаться угадать (и использует свое собственное значение по умолчанию), иногда вы можете заставить его спросить, какую кодировку использовать. Смотрите здесь .

Не существует общего метода, который гарантировал бы, что каждый пользователь откроет его в правильной кодировке, если мы говорим о чистых текстовых файлах. В некоторых других форматах (например, HTML) кодировка может быть указана как часть самого документа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...