У меня есть php файл, который читает CSV файл, который im предполагает, что он находится в UTF-8 - отправлен через API. Я использую fopen(), чтобы прочитать его.
Проблема заключается в том, что мои выходные результаты:
IU? Q? JL??/Q? R??/)? J-.?)) VH?/OM? K-NI? T0? P? * ͩT0204jz Դ? H??? X??? @D?? K
Я проверил настройки конфигурации php5:
По умолчанию используется UTF-8:/; php.net/default-charset; default_charset = "UTF-8"
Я также изменил ISO-8859-1 на UTF-8:
[iconv]; iconv.input_encoding = UTF-8; iconv.internal_encoding = UTF-8; iconv.output_encoding = UTF-8; mssql.charset = "UTF-8"
Выходные данные все те же. Любые предложения или шаги, которые я мог предпринять для решения проблемы.
Мне пришлось использовать compress.zlib для решения проблемы $ f_pointer = fopen ("compress.zlib: URL ", "r");
Если вы просто читаете источник, не проблема, поскольку php не делает никаких предположений о кодировке для строк. Таким образом, если ваш источник отправляет вам данные как UTF8, то это UTF8, default_charset в php - это просто заголовок, отправленный перед вашей страницей, который может быть переопределен несколькими способами. Проверьте, действительно ли ваш браузер показывает страницу в правильной кодировке... в Chrome перейдите в меню "Дополнительные инструменты/Кодировка", там вы увидите кодировку, которая используется.
Я никогда не открывал файлы с php, но,
Вы использовали
$data = fopen($file);
fgets($data);
слишком?