charsetをutf-8に
HTML ファイルの文字コード自体は、大雑把に UTF-8 へ変換したんだけど…
ちなみに、使ったコマンドはこんな感じ。
find ./ -name "*.html" -print > /tmp/work.txt find ./ -name "*.htm" -print >> /tmp/work.txt while read i do echo $i iconv -f EUCJP -t UTF-8 $i > ${i}.utf8 if [ $? -eq 0 ]; then rm -f $i mv ${i}.utf8 $i else rm -f ${i}.utf8 fi done < /tmp/work.txt rm -f /tmp/work.txt
参考にさせて頂いたサイト様
> http://www.cyber.t.u-tokyo.ac.jp/~jnakano/blog/2008/08/eucno.html
charset が EUC のままなので、不便極まりない状態。
こんなとき、活躍するのは置換。
Windows上にデータがあれば、EmEditor の機能(但し Professional版)で一気にやっちゃうんだけど…
一度全部のデータを Windows に戻して、もう一度アップロードしないといけないのが面倒に思えてパス。
Linux 上であれば、たしか perl でファイルを直接書き換えるコマンドがあった。
でも、書き方をド忘れしたw
使い慣れた sed で行くか…
ってことで、次のようなコマンドを考えてみる。
find ./ -name "*.html" -print > /tmp/work.txt find ./ -name "*.htm" -print >> /tmp/work.txt while read i do printf "${i} " sed -e "s/charset=euc-jp/charset=utf-8/g" ${i} > ${i}.utf8 2> /dev/null if [ $? -eq 0 ]; then rm -f $i mv ${i}.utf8 $i else rm -f ${i}.utf8 fi echo "" grep charset $i echo "" done < /tmp/work.txt rm -f /tmp/work.txt