кодировка символов — php против charset против redhat против suse

Когда я экспортирую данные из БД на 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 (Сервер):

  • Версия: 7.4
  • MySQL: mysql Ver 15.1 Distrib 5.5.56-MariaDB
  • PHP: PHP 5.6.33
  • php -r ‘echo mb_internal_encoding ();’

    UTF-8,

  • echo $ LC_CTYPE

    en_US.UTF-8

Suse (Локальная машина):

  • Версия: openSUSE Tumbleweed (20180121)
  • MySQL: mysql Ver 15.1 Distrib 10.2.12-MariaDB
  • PHP: PHP 5.6.24
  • php -r ‘echo mb_internal_encoding ();’

    UTF-8,

  • echo $ LC_CTYPE

    en_US.UTF-8

Конечно, в файле с unknown-8bit charset немецкие символы не в порядке. У кого-нибудь есть идея или какой-нибудь намек, что я могу сделать здесь, чтобы получить то же самое, что и на suse?

1

Решение

Я нашел решение этой проблемы.

Конечно, это не решение, но для некоторых данных оно мне помогает.

В PHP функции mb_convert_encoding вместо параметра auto Я поставил latin1

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]