Intereting Posts
Получить данные из таблицы базы данных MySQL по определенному полю в URL-адресе Сложный SQL (возможно, внешние соединения) Попытка заставить MySQL подключаться через php в JSON, но возвращая ошибки, связанные с MySQL из php-скрипта Как получить местное время в php? Как разобрать этот json с php? SELECT * FROM table WHERE field IN (SELECT id FROM table ORDER BY field2) Разделитель не должен быть буквенно-цифровым или обратным слэшем, а preg_match Формат по умолчанию MySQL по умолчанию UTC или GMT? Laravel – Многостраничный сайт / Проект Добавление месяцев в DateTime с DateInterval изменяет исходную дату для соответствия новой дате odbc_exec vs odbc_excute Как я должен обрабатывать таймауты сервера и ответы на код ошибки на http-сообщение в приложении Android? сохранить изображение в базу данных в php прямо из URL-адреса Есть ли функция PHP, которая может избежать шаблонов регулярных выражений до их применения? Создайте временную папку, чтобы сохранить файлы в структуре и сделать ее загружаемой путем сжатия папки

установить кодировку utf-8 для fread fread

Привет, я использую этот код для чтения и записи текста в файл.

$d = fopen("chat.txt", "r"); $content=fread($d,filesize('chat.txt')); $bn=explode('||',$content); foreach($bn as $bn) echo $bn.'<br>'; 

а также

 $d = fopen("chat.txt", "a"); $c=$_GET['c']; if($c=='') die(); fwrite($d,$c.'||'); fclose($d); 

но in = ie only = utf-8 character show "?" или "[]" . моя кодировка Utf-8 без спецификации и я использую это

 header('Content-type: text/html; charset=UTF-8'); 

и это :

 <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 

моя дефолтная кодировка в php.ini – utf-8, но пока показывается? , Я вижу файл chat.txt и символ в файле, но когда с сохранением в файле И когда шоу на странице показывает «?» вместо права.

Solutions Collecting From Web of "установить кодировку utf-8 для fread fread"

Используйте эту функцию вместо fopen во время чтения, но не во время записи

 function utf8_fopen_read($fileName) { $fc = iconv('windows-1250', 'utf-8', file_get_contents($fileName)); $handle=fopen("php://memory", "rw"); fwrite($handle, $fc); fseek($handle, 0); return $handle; } 

источник
http://www.php.net/manual/en/function.fopen.php#104325

В твоем случае

 $d = utf8_fopen_read("chat.txt", "r"); $content=fread($d,filesize('chat.txt')); $bn=explode('||',$content); foreach($bn as $bn) echo $bn.'<br>'; 

Попробуй это

 $content = iconv('windows-1250', 'utf-8', file_get_contents($fileName)); $bn = mb_split('||',$content); foreach($bn as $b) echo $b.'<br>'; 

TXT был сохранен с помощью utf8 encode? Вам необходимо убедиться, что кодировка TXT – utf-8, иначе вам понадобится использовать функцию utf8_encode

Вы можете кодировать строку, которую вы выводите, $ bn в этом случае, используя utf8_encode () следующим образом:

 $d = fopen("chat.txt", "r"); $content=fread($d,filesize('chat.txt')); $bn=explode('||',$content); foreach($bn as $bn) echo utf8_encode($bn).'<br>'; 

Попробуйте это и посмотрите, все ли это странно.