アプリ版:「スタンプのみでお礼する」機能のリリースについて

webのログを取っているのですが,
URLデコード -> nkf -s
としています.しかし,URLデコードしたファイルは,google等はutf-8で他はs-jis等で,文字コード(s-jis, euc, utf-8)が混在しているファイルとなってしまいます.
最終的な出力ファイルをs-jisに統一したいと思っています.nkfで行おうとしたところ,どうもうまくいきません.-Xs オプションをつけるとutf-8の部分がちゃんと表示されません.-Wsオプションをつけると今度はs-jis,eucが出力されません.
なにかうまい方法はありませんか?

A 回答 (3件)

nkf は utf-8 には対応していなかったのではなかったでしょうか。


iconv コマンドを使いましょう。ただ、iconv の場合変換元コードを
自動判別はしてくれなかったと思います。

$ iconv -f utf-8 -t sjis file.utf8 > file.sjis

参考URL:http://www.google.com/search?hl=ja&inlang=ja&ie= …
    • good
    • 0

perlとかを使って、1行ずつ、漢字コード変換をかけていけば。

    • good
    • 0

失敗失敗、URL を張りそこなってしまいました。

以下をご覧ください。失礼しました。

参考URL:http://homepage2.nifty.com/ssfu/others/computer/ …

この回答への補足

早速のお返事ありがとうございます.
iconvあたってみます.
iconvでは1行毎にコードが異なるファイルも対応出来ますか?

ところでnkfも2.0以降はunicode対応しているようです.

自己解決(?)したかもしれないので,報告させて頂きます.
理由はわからないのですが,
nkf -Ww | nkf -s
または
nkf -Ww | nkf -Ws
とパイプするとうまくいくようです.
nkf -w | nkf -Ws
nkf -Ws
等はだめです.
-Wwの時だけ動作が違うのでしょうか...

補足日時:2003/05/25 15:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!