C:\Users\Kolink>php -r "echo 'é';"
Ú
C:\Users\Kolink>echo é
é
ご覧のとおり、é
を出力するプログラムはÚ
になりますが、echo
コマンドを使用すると目的の文字が得られます。cmdの文字セット
また、正しい文字を出力するためにPHP(スクリプトの最初のコマンドかもしれません)を設定できますか?
C:\Users\Kolink>php -r "echo 'é';"
Ú
C:\Users\Kolink>echo é
é
ご覧のとおり、é
を出力するプログラムはÚ
になりますが、echo
コマンドを使用すると目的の文字が得られます。cmdの文字セット
また、正しい文字を出力するためにPHP(スクリプトの最初のコマンドかもしれません)を設定できますか?
CMD.exeはPHPとは異なるコードページで動作します。ところで、それはまた、デフォルトのWindowsコードページとは異なるコードページです。これは、古いMS-DOSプログラムとの互換性のためです。私の国では、WindowsはWindows-1250を使用し、cmd.exeはDOS Latin2を使用します。イギリスでは、これはそれぞれWindows-1252とDOS Latin1だろうと思います。
同じ結果を得るには、PHPとcmd.exeで同じコードページを使用する必要があります。 PHPで使用されているコードページを確認し、cmd.exeを同じコードページに設定します。これを行うには、mode con sp select=<codepagenumber>
またはchcp <codepagenumber>
のコマンドを使用します。これにより、cmd.exeの現在のインスタンスのコードページのみが変更されます。ここで
は、いくつかの典型的なコードページとその番号の短いリストです:
DOS Latin1 850
DOS Latin2 852
Windows-1250 1250
Windows-1252 1252
UTF-8 65001
ISO-8859-1 28591
ISO-8859-2 28592
@Christopheヴァイスはコメントで指摘したように、あなたはCode page identifiersページで他のコードページの識別子を検索することができます。
ありがとう、それは非常に便利だった!しかし、ISO- *コードページ番号は私のためには機能しませんでした。 [コードページ識別子](https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756%28v=vs.85%29.aspx)には、「iso-8859-1」 '28591'と' ISO-8859-2'は '28592'です。 –
ありがとうございます!私は自分の答えを修正し、あなたが見つけたページへのハイパーリンクを追加しました。 – MBu
まあ、エコーはコピー/ペースト機能のほうが多いようです。私はPHPについてはわからない。 – Coffee