質問: unixでファイルタイプをutf-8に変換する-iconvが失敗する 重複の可能性: windowsでのエンコードまたは行末のファイルのバッチ変換 * nixコマンドラインツールを使用して複数のファイルをutf-8エンコーディングに変換するにはどうすればよいですか? windowsマシンにphpファイルがあり、winscpで* nixに移動すると、文字が正しく表示されません。ファイルをlinuxマシンからwindowsにドラッグして戻し、notepad ++でエンコードを確認したところ、ansiと表示されています。そこで、iconv -f ansi -t utf-8 filename.php> filename.phpを試しましたが、ansi変換がサポートされていないというエラーが表示されます。 ms_ansiも試しましたが、エラーは発生しませんが、適切なエンコーディングを示すファイルが表示されません。winscpでファイルを開いて外観を確認すると、多くの特殊文字が「?」として表示されます。スクリプトの目的はこれらの特殊文字をデータから削除することであるため、実際には少し問題が発生しています。エンコーディングを変更するための別のツールはありますか? yum iconvを試しましたが、パッケージがありませんという応答が返されました。このファイルを適切なエンコーディングにどのように変換しますか?
回答: 「ansi」がiconvの正しい文字エンコード/入力名であると確信していますか? 「filefilename.php」を実行しようとすると、多くの場合、ファイルはエンコーディングが何であるかを教えてくれます。変換を行うときにfromエンコードを指定しないようにすることもできますし、それらすべてを試すこともできます。for i in `iconv -l`; do iconv -f $i -t utf-8 filename.php > filename.php.$i; done