php vs charset vs redhat vs suse

时间:2018-01-26 15:26:33

标签: php character-encoding redhat opensuse

当我使用PHP从RedHat 7.4上的数据库导出数据时,我得到了包含未知编码的文件:

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字符集的文件中,德语字符不正常。有没有人有想法或任何提示,我可以在这里做什么与suse相同?

1 个答案:

答案 0 :(得分:0)

我找到了解决此问题的方法。

当然,这不是解决方案,但对于某些数据,它可以帮助我。

在PHP函数mb_convert_encoding而不是参数auto中,我设置latin1