web-dev-qa-db-ja.com

エンコーディングをus-asciiからutf-8に変換できません。何がめちゃくちゃですか?

ウェブページが外国語でレンダリングしているガベージ文字をデバッグしようとしています。 utf-8でcreatepage.phpが必要です。

me@Host:/www/webroot$ file -bi createpage.php
text/x-php; charset=us-ascii
me@Host:/www/webroot$ iconv -f us-ascii -t utf-8 createpage.php > createpage_utf8.php
me@Host:/www/webroot$ file -bi createpage_utf8.php
text/x-php; charset=us-ascii

ディレクトリにはrwxパーミッションがあり、ファイルにはrwがあります。私は盲目でなければなりません-私はここで何を台無しにしていますか?これは、ASCIIがutf-8のサブセットであり、私のphpに特殊文字がないため(includeのiniファイルのみ)、file -biとにかくASCIIを報告するだけですか?

2
Escher

プレーンASCII文字のみを使用するファイルは、定義上、7ビットASCII文字がUTF8で1対1にマップされるため、UTF8と区別できません。あなたの「変換」は何もしません。

2
wurtel