PHP UTF-8转换为Windows命令行编码

一切都在问题:我有一个PHP脚本是一个UTF-8文件。 在这个脚本中我想这样做:

<? echo "âêïû\n"; ?> 

如果我在Windows提示符下运行它,我得到这个:

 C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php âêïû C:\php> 

我一直无法find正确的转换scheme。 我也试过这个代码:

 $tab = mb_list_encodings(); foreach ($tab as $enc1) { foreach ($tab as $enc2) { $t=mb_convert_encoding("âêïû\n", $enc1, $enc2); if (strlen($t)<14) { echo $enc1." ".$enc2." = ".$t."\n"; } } } 

而我没有find正确的转换!

任何帮助将不胜感激

Solutions Collecting From Web of "PHP UTF-8转换为Windows命令行编码"

问题是Windows cmd行默认不支持UTF8。 从这个链接 ,如果你遵循这些

  1. 打开命令提示符窗口
  2. 更改窗口的属性以使用默认光栅字体以外的内容。 他Lucida控制台True Type字体似乎运作良好。
  3. 从命令提示符运行“chcp 65001”

你应该可以输出utf8。

你把我放在正确的轨道上,但有一个问题(我爱Windows \ o /):

 C:\php>chcp 65001 Page de codes active : 65001 C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php | more Mémoire insuffisante. 

Mémoireinsuffisante =没有足够的记忆。

如果我尝试

 C:\php>chcp 1252 C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php C:\php>ééîîïïÂÂÂÂâûü 

有用。 只有上帝知道为什么。 但它的作品。 谢谢你把我放在正确的轨道上!

顺便说一句,php代码正确地形成UTF8的命令提示符是:

  echo mb_convert_encoding($utf8_string, "pass", "auto");