【问题标题】:Strange characters in php cli outputphp cli输出中的奇怪字符
【发布时间】:2014-03-21 19:48:15
【问题描述】:

一些php控制台命令的开头输出了一些奇怪的字符。

运行composer输出没问题,但是laravelartisanphpunit输出´╗┐

我已尝试将 artisan 和 phpunit 文件编码为 UTF-8,而无需像 php 5.3 CLI junk characters 中建议的那样使用 BOM,但这不是问题。

我在 Windows XP x64 和 PHP 5.4.24 上使用 ConEmu v131215

问题:在哪里可以找到输出每个 PHP 命令行程序开头出现的奇怪字符的文件?

即使在 Windows 控制台中也会发生此问题,而不仅仅是在 ConEmu 中。

使用默认 php.ini 安装新的 php 5.3 会产生相同的结果

【问题讨论】:

  • 我想知道为什么人们关闭了这个问题,因为这对我来说很清楚,但为了让事情更明显,我在底部添加了这个问题。
  • 我相信,这个问题与 ConEmu 无关。如果在标准 Windows 控制台中运行命令会发生什么?而且,如果您在 ConEmu 中运行它们,但禁用 Settings\Features ConEmu 页面上的“ANSI X3.64”选项?此外,有趣的是,在执行期间正在运行的确切命令是什么。可能是 PHP 使用 BOM 创建临时文件。您可以使用 ProcessMonitor 或在 ConEmu Settings\Debug\Shell 中监视进程启动。

标签: php laravel cmd composer-php


【解决方案1】:

一个来自 FusionCharts 的旧供应商库编码为带有 BOM 的 UTF-8 是问题所在。

这个文件是使用作曲家的autoload files 加载到我的composer.json 中的,所以每次我使用vendor\autoload.php 这个文件和BOM 都会产生奇怪的字符。

【讨论】:

  • 嗯,那个供应商的 lib 文件是什么?知道这将非常有用。
猜你喜欢
  • 2018-10-29
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
  • 1970-01-01
  • 1970-01-01
  • 2013-01-24
  • 2023-03-10
相关资源
最近更新 更多