sbで行こう


ENTRY

[tips] HTML ファイルから sb 用インポートデータへコンバートする(補足)

想定ターゲットが異様に狭いが故に誰の役にも立っていないと思われる HTML→XML 変換スクリプトですが、日本人がスクリプトを使う時に一番大事なことを説明するのを忘れてたので一応補足します。それは文字コードの話。

HTML ファイルの文字コードは多くが EUC-JP だったり Shift_JIS だったりしますが、これらの文字コードは特にテキストの操作を行うスクリプトではトラブルを起こしがちです。ふうこんちのファイルの文字コードを UTF-8 にしていたので何となく動きましたが、もしかすると他のコードでは HTML::TreeBuilder でうまく解析できないかもしれません。対処としては HTML ファイルを読み込んだ後、Jcode.pm 等を使用して文字コードを UTF-8 に変換してから HTML::TreeBuilder に食わせる処理を追加するといったようなことになるかと思います。

また、XML ファイルの方の文字コードは必ず UTF-8 にしておかないと、インポート時に文字化けします。HTML ファイルの文字コードが UTF-8 でない場合は、スクリプトが無事動作しても XML ファイルの方の文字コード変換が必要ですので、ご注意下さい。

追記:Perl 5.8 以降においての Unicode 文字列の扱い方 : NDO::Weblog より、utf-8 の HTML ファイルを扱う場合 Perl のバージョンは 5.8 以上推奨、ということみたいです。ううーん。すごいたまたま動いたんだなぁ、アレ。

コメント(日付順)

コメントする
  • 投稿を受け付けるには、JavaScript を有効にしてください。
  • URI は自動リンクされます。
  • HTMLタグは使えません(実体参照化されます)。