複数のPHPファイルのエンコードを、sjisからUTF-8に一括変換したいのですが、
便利なフリーウェアをご存知の方はいらっしゃいませんでしょうか。
どうぞよろしくお願い致します。
フリーウェアというか何というか、シェルでnkf使えばとりあえずお金はかからないです。
http://sourceforge.jp/projects/nkf/
for f in *.php
do
nkf -w $f > $f.new.php
done
csh系ならこんな感じですかね(試してないですけど)
foreach f( *.php )
nkf -w $f > $f.new.php
end
私も最近サーバー環境の仕様により同じような境遇になり、同じ理由で探したソフトがあります。
今現在も使用中です。
スクリプト類を探したんですが期待通りの動きじゃなかったりしたので、このソフトに落ち着いてます。
私の場合もSJIS→UTF8への一括変更での場面でした。
文字コード変換ツール「KanjiTranslator 1.6」
http://www.kashim.com/kanjitranslator/index.html
*対応している文字コードは、ShiftJIS, ISO-2022-JP, EUC-JP, UTF-8
*変換元の文字コードは高精度で自動認識します
速度も高速ですし、サブフォルダを掘り下げてファイル郡を見つけてくれます。まあフォルダごとドロップするんですが;
今のところ変換したファイルはPHPの入出力等において期待した動きで動いてます。
おそらくこれで十分だと思います。
文字コード変換ツール「KanjiTranslator」
http://www.kashim.com/kanjitranslator/index.html
こちらのソフトをおすすめいたします。
ファイルに2バイト文字が入っていない場合も多々ありますので、
「KanjiTranslator」はNGでした。
複数のファイルを変換する場合がよくわからなかったのですが、
とりあえず
UTF8CNV "SU" "C:\a.php" "C:\b.php"
のような記述をして
C:\a.php IS INVALID!
となり、変換できませんでした。
[psl]ASCIIコード一覧表
http://www.psl.ne.jp/perl/pdojo00b.html
アスキー/シフトJIS キャラクタコード表
http://www.tamasoft.co.jp/ja/general-info/sjis.html
UTF-8 - Wikipedia
http://ja.wikipedia.org/wiki/UTF-8
>ファイルに2バイト文字が入っていない場合も多々ありますので、
Shift_JISで1バイト文字だけ(=ASCII文字だけ)のファイルということと理解してpostしますが、
Shift_JISで1バイトの文字はASCIIと同じエンコードです。
UTF-8でもASCII文字はASCIIコードのままです。
つまり、ASCII文字に関しては、Shift_JISだろうとUTF-8だろうと同じエンコードがなされるため、
ASCII文字だけのテキストファイルの文字セットがShift_JISかUTF-8か(EUCか)は関係ありません。
// EUCもASCII文字はASCIIと同じエンコードです。
最後になりましたが、私が紹介したソフトは4の方と同じものでしたので、ポイントは結構です。
1バイト文字ならsjisもutf8も同じだということは理解しております。
ただ今回は、あるPHPアプリケーションの検証のために作業しております。
アプリケーションの製造元がUTF-8のみで実行した場合動作保障する、
という説明をしておりますので、
sjisファイルをutf8に変換して検証せざるを得ません。
説明不足な点があったことをお詫び致します。
ファイルに2バイト文字が入っていない場合も多々ありますので、
「KanjiTranslator」はNGでした。