PHP没有正确显示某些字符

时间:2017-09-28 15:33:05

标签: php character-encoding

我在本地计算机上运行PHP CLI脚本,该脚本调用API并接收返回UTF编码的字符串。现在,这个字符串基本上是葡萄牙语中的一个简单单词,我可以在屏幕(终端)上打印时正确看到它。但是,在另一台计算机上,某些字符未正确显示。问题是,我需要设置哪个php.ini选项才能在另一台机器上正确查看字符串?我没有触及我的PHP.ini关于编码和一切正常,所以我不知道我需要什么来启用UTF才能在php cli应用程序上工作?

编辑:这不应该是一个终端问题。更具体地说,API返回一个字符串(UTF编码),该字符串应该在数组中找到。但是,PHP在另一台计算机上发出警告,说无法在数组中找到该字符串。我所获得的密钥并不存在错误,并且显示的密钥或字符串看起来并不正确,因此情况就是如此。

基本上是

$stringReturnedFromApi = $apiCall();
$this->myArray[$stringReturnedFromApi];

它可以在我的机器上运行,另一个是抱怨密钥不存在,当我查找$stringReturnedFromAp时,它看起来不是UTF编码

2 个答案:

答案 0 :(得分:0)

其他终端需要设置为UTF-8编码。例如,PuTTY需要被告知是什么编码,或者如果我记得很清楚,他将使用(在Windows上)ANSI。

如果其他主机不在Windows上,只需验证语言环境以确保它是UTF-8。这不是你的错误,这只是一个客户端的编码。

如果结果打印到网页,请确保字符集编码也设置为UTF8;

答案 1 :(得分:0)

我不确定这实际上是一个PHP问题。

如果没有看到你的脚本,我就无法100%说出任何内容,但我猜测PHP脚本实际上正在输出UTF字符。它看起来很奇怪的原因是因为终端不能理解UTF编码并且无法显示该字符。

您需要更加具体地了解您用于确定实际问题所在的终端应用程序的详细信息。我怀疑你可以在php.ini

中修复它
相关问题