soulnizeの日記: Jcode.pmたんはasciiにぞっこんだよん
ウィルコムに変えて、メール送受信がただになったことを思い出して
スラドのRSSから新しいエントリをメールで送るperlなスクリプトを作っていたわけです。
pop3やsmtpもrssも、楽に扱えるモジュールがある今日この頃
僕程度でも十分作れると見込んでいました。
といいますか、大体継ぎはぎなコピペに微調整で終わるんですけどね。
ただ、内容がありがち過ぎたために、関数の調べごとをしていたら
まんまRSSからメール送信なperlスクリプトを見つけてしまいまして、
数日間はまったりプログラミングライフを送れると見込んでいただけに
少々がっかりしつつ、コピペしました。
ただ、結局のところ半分以上は書き換わってますけどね。
で、ためしにPCのメールアカウントのほうに送ったわけですが、思いっきり文字化けでした。
もちろん文字コード変換は入れてたわけです。
みると、どうもUTF-8らしい。
スラドのRSSもUTF-8なので、変換されていないことが判明。
コード変換前と後でgetcodeしてやりますと、
両方ともasciiでした。
サクサクとスクリプトを書いて終わらせるつもりだったので
かなり憂鬱になりつつも、原因を探す…のもほぼ無理でした。
結局、Jcode以外の選択肢を模索するも、よくわからず挫折。
それから何時間もウイスキー片手に悩みつつ、答えがわかりました。
スラドはアルファベットが多く含まれているわけで、実は日本語より文字数が
多いんじゃないかと。(未確認)
で、RSSより取り込んだ本文の頭にUTF-8な”日本語テストやきそば”x30を追加し、
コード変換すると見事動作しました。
その後そいつを削ればいいわけですが、どういうわけかsubstrに1330という
数を入れるとぴったり消えてくれます。
かなり気になるんですが、眠たいので深く追求はしません。
Jcode.pmたんはasciiにぞっこんだよん More ログイン