PHP fwrite функция для записи txt файла в кодировке utf-8 - PullRequest
1 голос
/ 19 августа 2011

Я создал форму, где пользователь пишет свое сообщение на арабском языке и отправляет его с помощью кнопки отправки.Сообщение сохраняется в базе данных, и мне нужно создать файл .txt на сервере для другого приложения, которое показывает что-то вроде этого:

د ؈٠„يسو ÙØ

Я успешно использовал функции fopen, fwrite для создания своих текстовых файлов.

Когда я открываю файл в блокноте, арабский текст отображается правильно, но когда я открываю его в затмении, я получаю что-то вроде этого:

د پو٠„يسو Ù¾Ø ± ± ± وز٠† يز Ù… Ø ± Ú © ز توغ٠† دويي Ø¨Ø ± يد وشو

Хорошовпоследствии, когда я сохраняю txt-файл в блокноте, поскольку кодировка utf-8 вышеупомянутого неизвестного материала изменяется на арабский.
Но я не могу сделать это вручную для каждого сообщения.

Я много искал в Интернете и сделалэти:

  1. Я сохранил сценарий в utf-8
  2. Я использовал utf8_encode Функция
  3. Я установил это тоже ini_set('default_charset', 'UTF-8');
  4. это тоже <meta http-equiv="Content-Type" content="text/html; charset=utf-8; encoding=utf-8" />
  5. я чанge параметр в fwrite для "wb", где b для двоичного файла

Любое решение этой проблемы может быть очень рад, что я постоянно работал над этой проблемой в течение последней недели.Я знаю, что проблема в кодировке, так как я могу писать файлы в кодировке utf-8, используя PHP?

Ответы [ 2 ]

3 голосов
/ 20 августа 2011

Если текст хорошо отображается в одной программе, но не в другой, это означает, что одна программа правильно интерпретирует файл, а другая - нет.Скорее всего, Notepad устанавливает файл UTF-8 при повторном сохранении файла, поэтому Eclipse теперь автоматически распознает, что он закодирован в формате UTF-8.Без этого Eclipse предполагает использование по умолчанию латинской-1 или другой кодировки.

Два варианта:

Спецификация может быть полезна для того, чтобы программы распознавали UTF-8, но может также вызвать проблемы в других программах, которые не ожидают или не хотят спецификации.Использовать или нет спецификацию зависит от вашего предполагаемого использования и целевой аудитории.

0 голосов
/ 19 августа 2011

В Eclipse вам нужно установить кодировку в меню Редактировать > Установить кодировку ...

...