Чтение текстового файла на китайском языке (символы Юникода) с использованием PHP - PullRequest
1 голос
/ 02 ноября 2010

Я читаю один текстовый файл на китайском языке (используется PHP) с помощью приведенного ниже кода:

    $myFile = "test.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh); 
    print $theData;

test.txt содержимое файла:

PHP是很好的语言。我喜欢这门语言。
我正在开发一个Web应用程序使用PHP。

После выполнения вышеупомянутого кода я не получил точное содержимое, которое находится в вышеупомянутом файле.

Есть ли другой способ прочитать такой файл, который содержит символы Unicode, и распечатать его.

Пожалуйста, дайте мне ваши предложения.

Спасибо

-Pravin

Ответы [ 2 ]

1 голос
/ 02 ноября 2010

Вам необходимо указать выходную кодировку, соответствующую кодировке данных символов, которые вы читаете.

Если ваш текстовый файл имеет кодировку UTF-8, добавьте один из следующих content-type заголовков вначало вашего PHP-файла:

header("Content-Type: text/plain; charset=UTF-8");  // output as text file
header("Content-Type: text/html; charset=UTF-8");   // output as HTML 

если он закодирован в UTF-16, я бы использовал iconv() для преобразования его в UTF-8, который в значительной степени стал стандартной кодировкой в ​​Интернете:

$theData = iconv("UTF-16", "UTF-8//TRANSLIT", $theData);
0 голосов
/ 02 ноября 2010

Лучше использовать это:

readfile('text.txt');

Документация для этой функции вы можете найти на http://pl2.php.net/manual/en/function.readfile.php

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