Oli*_*ons 12 php windows command-line cmd character-encoding
一切都在问题:我有一个UTF-8文件的Php脚本.在这个脚本中我想这样做:
<?
echo "âêïû\n";
?>
Run Code Online (Sandbox Code Playgroud)
如果我在Windows提示符下运行它,我得到这个:
C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php
?ó?¬?»??
C:\php>
Run Code Online (Sandbox Code Playgroud)
我找不到合适的转换方案.我也试过这段代码:
$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";
}
}
}
Run Code Online (Sandbox Code Playgroud)
我找不到合适的转换!
任何帮助将不胜感激
你把我放在正确的轨道上,但有一个问题(我喜欢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.
Run Code Online (Sandbox Code Playgroud)
Mémoireinsuffisante=记忆力不足.
如果我试试
C:\php>chcp 1252
C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php
C:\php>ééîîïïÂÂÂÂâûü
Run Code Online (Sandbox Code Playgroud)
有用.只有上帝知道为什么.但它的确有效.谢谢你让我走上正轨!!
顺便说一句,PHP代码正确地形成UTF8到命令提示符是:
echo mb_convert_encoding($utf8_string, "pass", "auto");
Run Code Online (Sandbox Code Playgroud)