Когда я экспортирую данные из БД на RedHat 7.4 с PHP, я получаю файл с неизвестной кодировкой:
file -i produkte_de.csv
podukte_de.csv: text/plain; charset=unknown-8bit
Я сделал дамп БД из RH и импортировал в БД на Suse Tumbleweed и использую тот же PHP-код для экспорта в файл CSV, я получаю:
file -i produkte_de.csv
produkte_de.csv: text/plain; charset=utf-8
RedHat (Сервер):
php -r ‘echo mb_internal_encoding ();’
UTF-8,
echo $ LC_CTYPE
en_US.UTF-8
Suse (Локальная машина):
php -r ‘echo mb_internal_encoding ();’
UTF-8,
echo $ LC_CTYPE
en_US.UTF-8
Конечно, в файле с unknown-8bit
charset немецкие символы не в порядке. У кого-нибудь есть идея или какой-нибудь намек, что я могу сделать здесь, чтобы получить то же самое, что и на suse?
Я нашел решение этой проблемы.
Конечно, это не решение, но для некоторых данных оно мне помогает.
В PHP функции mb_convert_encoding
вместо параметра auto
Я поставил latin1
Других решений пока нет …