2010-03-17 1 views
2

У меня есть кодировка UTF-8 в Windows, и когда я использую ее под окнами, она отображается в правой части экрана, но когда я копирую файл в Linux, символы Unicode являются жирными. Файл представляет собой простой текстовый файл. Как я могу получить этот файл для чтения в Linux, или как его можно скопировать?Windows to Linux utf-8 file

заранее спасибо

+0

Что-то отключено. Покажите нам, что вы видите. Если возможно, некоторый вывод из 'od -c'. –

+0

это часть файлов переводаf $ Tools = "Алатки"; $ langDownloadFile = "Качиување на датотеката"; ins windows и результат u можно увидеть здесь http://testor.subnet.at/ndokeos/index.php?language=macedonian – Darwly

+0

Вопросительные знаки на этой странице являются актуальными вопросительными знаками. Это ломается раньше. Покажите исходное содержимое файлов. –

ответ

2

выглядит как Apache/PHP вопрос

Вы используете ваши строки через PHP встроенный метод htmlspecialchars (или аналогичный)? Если да, то вам, возможно, потребуется переключить его кодировку UTF8

Вместо htmlspecialchars($mytext), попробуйте использовать htmlspecialchars($mytext, ENT_COMPAT, 'UTF-8')


Обратите внимание на следующее (мой предыдущий ответ) неверен, как отмечает Майкл Барр, UTF8 Безразлично Не нужно или не используйте спецификацию.

Если это только текст, то есть шанс, что у него отсутствует знак байтового заказа (BOM) или закодирован с неправильной спецификацией.

Если это неверно, читатель Linux может почитать его, но ваш считыватель Windows игнорирует его. Попробуйте повторно открыть файл в чем-то вроде Notepad ++ и перезагрузите. Notepad ++ имеет множество опций в меню «Формат» о сохранении файлов UTF-8.

+0

, и я пробовал все linux options, но все равно то же самое. apache doesent узнает это также.Он показывает мне только ????????. – Darwly

1

Убедитесь, что вы перенесли файл в двоичном режиме. Также попробуйте iconv.

+0

могу ли я сделать это с помощью winscp? – Darwly

+0

Я сделал это и все тот же результат :( – Darwly

+0

Передача в двоичном режиме просто приведет к разрыву линии CRLF вместо LF. Это не повлияет на многобайтовые символы UTF-8. – dan04

0

Файл сам по себе в порядке. Что-то еще в трубе закручивает текст, прежде чем он будет отправлен в браузер. Повторите текст в различных точках приложения, чтобы определить, какая операция его нарушает.