6

このstackoverflowの投稿に続いて、UTF-8でfile_put_contents(さらに言えば)使用しようとしています: How to write file in UTF-8 format? 以下を使用します。file_get_contents¥

$data = mb_convert_encoding($data, 'UTF-8', 'OLD-ENCODING');

次のエラーが発生するため、これはあまりよく説明されていません。

mb_convert_encoding(): Illegal character encoding specified

その'OLD-ENCODING'ため、彼らが使用していた単なるプレースホルダーでした。私が持っている質問は、これをどのエンコーディングに変更する必要があるかということです? ASCII または ISO-8859-1? ほとんどの Web ホストはどのエンコーディングを使用していますか? それは問題ですか?

ファイルを開くと、メモ帳が UTF-8 エンコーディングに設定されている場合にのみ、シンボルが正しく取得されます。別の文字セットで開くと、「?」が表示されます。

4

2 に答える 2

4

3番目のパラメーターなしで試してください。

$str = mb_convert_encoding($str, "UTF-8");

またはauto

$str = mb_convert_encoding($str, "UTF-8", "auto");

詳細と例:http: //php.net/manual/function.mb-convert-encoding.php

于 2012-09-11T22:20:15.617 に答える
1

mb_convert_encoding($data, 'UTF-8', mb_detect_encoding($data));

mb_detect_encoding

于 2012-09-11T22:18:50.280 に答える