每当我使用PHP 7.2将字符串打印到控制台时,并且在控制台中包含Unicode字符时,它均无法正确显示。例如,£
显示为┬ú
。
这不是控制台,因为我可以echo £
没问题。
这不是PHP版本。升级到最新的稳定版本或将其降级到5.6版均无法修复。我使用的在线模拟器使用相同的版本,尽管它们输出到网页,但它们没有此问题。但是,这无关紧要,因为我知道这曾经在5.6版中有效,但现在已经不适用了。
当我尝试捕获字符串中包含£符号的Exception时,问题变得很明显。什么都不会发生。该脚本将停止并且不会显示任何错误。我花了一个多小时才发现它与字符串中的£符号有关,该符号使PHP停止了前进,所以问题就出在PHP上-我只是不知道什么。
有人对导致这种情况的原因有任何想法吗?