hatekeyの最近のブログ記事
はてキーエディタを公開します。
少し前に、Ajaxが騒がれて、XmlHttpRequestが脚光を浴びたわけですが、それにつられて、私も作ってみました。Ajaxではなくて、XmlHttpRequeestを使った、単なるxmlrpcです。はてなのキーワードAPIをコールしています。少々文字化けが発生することもあるのですが、それはそれでご容赦いただいて、とりあえずAjax風な感じを見つつ、はてなダイアリー以外でも、はてなキーワードがリンクできるという、ささやかなメリットをお楽しみください。(このテキストもはてキーエディタで作りました)
先に、はてキーエディタで文章を作成した後、文章を整形してください。改行とかタグとか許可できるようにすれば、もう少しエディタとしての精度が上がると思われますが、そこまでやるにはパワー不足でした。ご容赦ください。
jspでrequest.getInputStream()をInputStreamReaderで受けているのだが、このエンコードがInputStreamReader#getEncoding()で見ると、"MS932"となっていた。これが文字化けしてしまう原因だ。"UTF-8"にしたいところだ。でもなぁ、myjavaserverでInputStreamReaderに"UTF-8"を渡したのだけれど、文字化けしてたっけ。参ったなぁ、これ。ちょっと考えてみようっと。ともあれ、はてキーリリースまであと一歩です。
はてキーで
うひゃっ!最高orz
って入力すると文字化けしちゃう・・・
でも
うひゃっ!最高orzなんでだろう。UTF-8でInputStreamを読み込むとこけるのは。でも結構特殊なケースなんだな。うひゃっ!最高orz
って入力すると文字化けしない。どうやらorzの後ろに日本語文字があるかないかで異なるようだ。HttpURLConnection.getInputStream()をInputStreamReaderに渡すときに、UTF-8を指定するか否かで結果が異なるようだ。困ったなぁ。でも、「うひゃっ!最高orz」なんて入力するヤツはおらんでしょう。(苦笑)
とにかく対策を考えなくては・・・。参ったな。
