<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="rss.css" type="text/css"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:xhtml="http://www.w3.org/1999/xhtml" xml:lang="ja-JP">
	<channel rdf:about="http://ogawa.s18.xrea.com/tdiary/index.rdf">
	<title>メモの日々</title>
	<link>http://ogawa.s18.xrea.com/tdiary/</link>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/" />
	<description>日記です</description>
	<dc:creator>OGAWA KenIchi</dc:creator>
	<dc:rights>Copyright 2009 OGAWA KenIchi &lt;ogawa@s18.xrea.com&gt;, copyright of comments by respective authors</dc:rights>
	<items><rdf:Seq>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091119.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091117.html#p02"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091117.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091116.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091109.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091106.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091105.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091104.html#p02"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091104.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091026.html#p02"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091026.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091024.html#p02"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091024.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091021.html#p01"/>
<rdf:li rdf:resource="http://ogawa.s18.xrea.com/tdiary/20091012.html#p01"/>
</rdf:Seq></items>
</channel>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091119.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091119.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091119.html#p01" />
<dc:date>2009-11-20T02:36:40+09:00</dc:date>
<title>健康診断を受けた</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>life</dc:subject>
<description>前回受けたのはもう3年も前なのか。いかんいかん。 受付に行くと健診待ちの人が他にもいて一安心。初めての病院なのでまず書類に名前など書いてカードを作ってもらった。 最初の検査は身長と体重。続けて血圧。この後しばらく待つ。 追加料金を払えば胸部X線と便の検査も受けられるがどうするかと聞かれたので、必要ないと言ったら意外そうな顔をされた。普通皆受けるみたい。それならと胸部X線は受けることにした。300円。 というわけで胸部X線の検査。Tシャツは着たままでよい。次は尿を取る。前回は苦労したが今日は大丈夫だった。 次は採血。右腕から血を抜いた後、左手で傷口にガーゼを当て押さえるように言われ、その後手を離してと言われたので離したら、ガーゼを持ったまま離してしまい、血がダラダラ流れてしまった。ガーゼは右腕に残したままにするのが正しい。 次は心電図。この後またしばらく待つ。最後に医師による問診。目を診られ、聴診器を当てられ、胴回りを測られておしまい。問診短っ。胴回りは79cmだって。太った。 これでおしまい。300円払って病院を出る。結果の受け取り方を確認し忘れた。郵送されてくるのかなあ。</description>
<content:encoded><![CDATA[<h3>健康診断を受けた</h3><p><a href="http://ogawa.s18.xrea.com/tdiary/20061227.html#p02">前回</a>受けたのはもう3年も前なのか。いかんいかん。</p>
<p>受付に行くと健診待ちの人が他にもいて一安心。初めての病院なのでまず書類に名前など書いてカードを作ってもらった。</p>
<p>最初の検査は身長と体重。続けて血圧。この後しばらく待つ。</p>
<p>追加料金を払えば胸部X線と便の検査も受けられるがどうするかと聞かれたので、必要ないと言ったら意外そうな顔をされた。普通皆受けるみたい。それならと胸部X線は受けることにした。300円。</p>
<p>というわけで胸部X線の検査。Tシャツは着たままでよい。次は尿を取る。前回は苦労したが今日は大丈夫だった。</p>
<p>次は採血。右腕から血を抜いた後、左手で傷口にガーゼを当て押さえるように言われ、その後手を離してと言われたので離したら、ガーゼを持ったまま離してしまい、血がダラダラ流れてしまった。ガーゼは右腕に残したままにするのが正しい。</p>
<p>次は心電図。この後またしばらく待つ。最後に医師による問診。目を診られ、聴診器を当てられ、胴回りを測られておしまい。問診短っ。胴回りは79cmだって。太った。</p>
<p>これでおしまい。300円払って病院を出る。結果の受け取り方を確認し忘れた。郵送されてくるのかなあ。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091119.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091117.html#p02">
<link>http://ogawa.s18.xrea.com/tdiary/20091117.html#p02</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091117.html#p02" />
<dc:date>2009-11-17T19:56:26+09:00</dc:date>
<title>Vimでファイルを16進数ダンプ表示する</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>vim</dc:subject>
<description>:%!xxd を実行することで、開いているファイルを16進数ダンプ表示することができるのでメモ。ファイル全体をVimに付属の xxd コマンドで変換している。 この状態で編集もできるみたいだけれど試してないのでメモしない。 あと、文字の上で ga を実行することでその文字の文字コードが表示されることもメモ。 ヘルプのバイナリファイルの項に説明がある。Vim上で見るには「:help xxd」したときに表示されるユーザマニュアルへのリンクを辿ればよい。</description>
<content:encoded><![CDATA[<h3>Vimでファイルを16進数ダンプ表示する</h3><pre>:%!xxd</pre>
<p>を実行することで、開いているファイルを16進数ダンプ表示することができるのでメモ。ファイル全体をVimに付属の xxd コマンドで変換している。</p>
<p>この状態で編集もできるみたいだけれど試してないのでメモしない。</p>
<p>あと、文字の上で</p>
<pre>ga</pre>
<p>を実行することでその文字の文字コードが表示されることもメモ。</p>
<p>ヘルプの<a href="http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/usr_23.html#23.4">バイナリファイルの項</a>に説明がある。Vim上で見るには「:help xxd」したときに表示されるユーザマニュアルへのリンクを辿ればよい。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091117.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091117.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091117.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091117.html#p01" />
<dc:date>2009-11-17T19:37:58+09:00</dc:date>
<title>ソースにエンコーディングが不正な文字が含まれている際のjavacの挙動</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>java</dc:subject>
<description>コメント内にエンコーディングが不正な文字が含まれているソースファイルをコンパイルする必要があった。 Antを使うと 警告:この文字は、エンコーディング UTF-8 にマップできません。  という警告はでるがコンパイルできた。が、NetBeans 6.7.1でコンパイルすると この文字は、エンコーディング UTF-8 にマップできません。  というエラー（警告じゃない）になりコンパイルできなかった。なんでや。 -sourceオプションの有無で動作が変わる javacに渡すオプションを比較したところ、「-source」オプションの有無によりjavacの挙動が変わることが分かった。 G:\home\kenichi\work\javajavac -version javac 1.6.0_17  G:\home\kenichi\work\javajavac -encoding UTF-8 -source 1.6 B.java B.java:1: この文字は、エンコーディング UTF-8 にマップできません。 //aaaaa?bbbbbb        ^ エラー 1 個  G:\home\k..</description>
<content:encoded><![CDATA[<h3>ソースにエンコーディングが不正な文字が含まれている際のjavacの挙動</h3><p>コメント内にエンコーディングが不正な文字が含まれているソースファイルをコンパイルする必要があった。</p>
<p>Antを使うと</p>
<blockquote><p>警告:この文字は、エンコーディング UTF-8 にマップできません。</p>
</blockquote>
<p>という警告はでるがコンパイルできた。が、NetBeans 6.7.1でコンパイルすると</p>
<blockquote><p>この文字は、エンコーディング UTF-8 にマップできません。</p>
</blockquote>
<p>というエラー（警告じゃない）になりコンパイルできなかった。なんでや。</p>
<h4>-sourceオプションの有無で動作が変わる</h4>
<p>javacに渡すオプションを比較したところ、「-source」オプションの有無によりjavacの挙動が変わることが分かった。</p>
<pre>G:\home\kenichi\work\java&gt;javac -version
javac 1.6.0_17

G:\home\kenichi\work\java&gt;javac -encoding UTF-8 -source 1.6 B.java
B.java:1: この文字は、エンコーディング UTF-8 にマップできません。
//aaaaa?bbbbbb
       ^
エラー 1 個

G:\home\kenichi\work\java&gt;javac -encoding UTF-8 -source 1.5 B.java
B.java:1: 警告:この文字は、エンコーディング UTF-8 にマップできません。
//aaaaa?bbbbbb
       ^
警告 1 個

G:\home\kenichi\work\java&gt;javac -encoding UTF-8 B.java
B.java:1: 警告:この文字は、エンコーディング UTF-8 にマップできません。
//aaaaa?bbbbbb
       ^
警告 1 個</pre>
<p>まとめると、</p>
<ul>
<li>「-source 1.6」を指定：エラー</li>
<li>「-source 1.5」を指定：警告</li>
<li>「-source」の指定なし：警告</li>
</ul>
<p>ということ。NetBeansではプロジェクトのプロパティで「ソース/バイナリ形式」を「JDK 5」にすることで「-source 1.5」が付くようになるので、これで一応問題を回避できる。</p>
<h4>Java 6でエンコーディングエラー時の仕様が変わっていた</h4>
<p><a href="http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/solaris/javac.html#options">javacの標準オプションの説明</a>の -source の所に、</p>
<pre>-source release
   受け付けるソースコードのバージョンを指定します。release には次の値
   を指定できます。

   1.3
       このコンパイラでは、JDK 1.3 以降に導入されたアサーション、総称、
       または他の言語機能をサポートしません。
   1.4
       JDK 1.4 で導入された、アサーションを含むコードを受け付けます。
   1.5
       JDK 5 で導入された総称および他の言語機能を含んだコードを受け付
       けます。
   5
       1.5 と同義です。
   1.6
       これがデフォルト値です。Java SE 6 では言語に対する変更は導入さ
       れませんでしたが、ソースファイル内のエンコーディングエラーが、
       以前のような「警告」ではなく、「エラー」として報告されるように
       なりました。
   6
       1.6 と同義です。</pre>
<p>とあった。「1.6」の所の説明に注目。1.6でjavacの動作が変わっているのだ。</p>
<p>「これがデフォルト値です。」という言葉を信じれば、-sourceを指定しなかった場合と-source 1.6を指定した場合の動作は同じになるのが正しいはずだが、先に示した通りこのときの動作は違っている。javacのバグかなあ。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091117.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091116.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091116.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091116.html#p01" />
<dc:date>2009-11-16T22:54:28+09:00</dc:date>
<title>図書館へ</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>life</dc:subject>
<description>返却日をだいぶ過ぎてしまったので、仕事を早めに切り上げて図書館へ行った。閉館1時間前くらいに着いたが、またもガラガラだった。  空の中 （有川浩） 週刊アスキー 2009.8.11 「激薄10万円ノートPC 5機種」 週刊サッカーダイジェスト 2009.9.22 「J2010移籍マーケット大予想」  を借りた。この図書館は引っ越す前の所よりも本が少ないということが分かってきた。</description>
<content:encoded><![CDATA[<h3>図書館へ</h3><p>返却日をだいぶ過ぎてしまったので、仕事を早めに切り上げて図書館へ行った。閉館1時間前くらいに着いたが、またもガラガラだった。</p>
<ul>
<li>空の中 （有川浩）</li>
<li>週刊アスキー 2009.8.11 「激薄10万円ノートPC 5機種」</li>
<li>週刊サッカーダイジェスト 2009.9.22 「J2010移籍マーケット大予想」</li>
</ul>
<p>を借りた。この図書館は引っ越す前の所よりも本が少ないということが分かってきた。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091116.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091109.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091109.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091109.html#p01" />
<dc:date>2009-11-09T12:36:02+09:00</dc:date>
<title>NetBeansが使用するJDKのパスを変更する</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>java</dc:subject>
<description>JDKをバージョンアップして古いJDKをアンインストールすると、NetBeansの起動時に Cannot locate java installation in specified jdkhome: C:\Program Files\java\jdk1.6.0_16 Do you want to try to use default version?  というようなダイアログが毎回出てくるようになる。これが出ないようにNetBeansへJDKの正しいパスを教える方法をメモ。 NetBeans 6.7.1をインストールしたフォルダにあるetcフォルダ内に「netbeans.conf」というテキストファイルがある。このファイル内で「netbeans_jdkhome」にJDKのパスを設定しているので、そこを正しいパスに修正すればよい。 netbeans_jdkhome を指定しなくてもNetBeansは起動するので、指定しない方がいいのかも。</description>
<content:encoded><![CDATA[<h3>NetBeansが使用するJDKのパスを変更する</h3><p>JDKをバージョンアップして古いJDKをアンインストールすると、NetBeansの起動時に</p>
<blockquote><p>Cannot locate java installation in specified jdkhome:</p>
<p>C:\Program Files\java\jdk1.6.0_16</p>
<p>Do you want to try to use default version?</p>
</blockquote>
<p>というようなダイアログが毎回出てくるようになる。これが出ないようにNetBeansへJDKの正しいパスを教える方法をメモ。</p>
<p>NetBeans 6.7.1をインストールしたフォルダにあるetcフォルダ内に「netbeans.conf」というテキストファイルがある。このファイル内で「netbeans_jdkhome」にJDKのパスを設定しているので、そこを正しいパスに修正すればよい。</p>
<p>netbeans_jdkhome を指定しなくてもNetBeansは起動するので、指定しない方がいいのかも。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091109.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091106.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091106.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091106.html#p01" />
<dc:date>2009-11-07T01:25:56+09:00</dc:date>
<title>半年ぶりくらいにスーツを着た。 相変..</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<description>半年ぶりくらいにスーツを着た。 相変わらず仕様が曖昧な仕事。それを見込んで進めていかないと。 ふーん。なんか寂しいな。</description>
<content:encoded><![CDATA[<ul>
<li>半年ぶりくらいにスーツを着た。</li>
<li>相変わらず仕様が曖昧な仕事。それを見込んで進めていかないと。</li>
<li>ふーん。なんか寂しいな。</li>
</ul>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091106.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091105.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091105.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091105.html#p01" />
<dc:date>2009-11-05T12:39:22+09:00</dc:date>
<title>Netbeans 6.7にてTomcatを起動できるようにする</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>java</dc:subject>
<description>「Java Web アプリケーション」というプラグインを追加したら「サービス」ペインに「サーバ」というノードが追加されてTomcatを設定できるようになった。 6.5の頃はすんなりできた気がするけど今回は迷ったのでメモ。</description>
<content:encoded><![CDATA[<h3>Netbeans 6.7にてTomcatを起動できるようにする</h3><p>「Java Web アプリケーション」というプラグインを追加したら「サービス」ペインに「サーバ」というノードが追加されてTomcatを設定できるようになった。</p>
<p>6.5の頃はすんなりできた気がするけど今回は迷ったのでメモ。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091105.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091104.html#p02">
<link>http://ogawa.s18.xrea.com/tdiary/20091104.html#p02</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091104.html#p02" />
<dc:date>2009-11-04T22:57:41+09:00</dc:date>
<title>天国までの百マイル （浅田次郎）</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>book</dc:subject>
<description>読んだ。心臓病の母親を東京から千葉へ転院させる話。優しい人たちがたくさん登場する。うまくすると泣けそうだけどそこまでははまらなかった。3.5点。 母にとっての幸福は、「希望」そのものだった。希望が叶えた幸福は実は母の幸福ではなく、希望にすがって生きていたあのころが、母にとって最も幸福な時代だったのだ。 育ててもらったのだと、安男は思った。</description>
<content:encoded><![CDATA[<h3>天国までの百マイル （浅田次郎）</h3><p><a href="http://www.amazon.co.jp/%E5%A4%A9%E5%9B%BD%E3%81%BE%E3%81%A7%E3%81%AE%E7%99%BE%E3%83%9E%E3%82%A4%E3%83%AB-%E6%B5%85%E7%94%B0-%E6%AC%A1%E9%83%8E/dp/4022572957%3FSubscriptionId%3D0WVS3J53FVP9M1E7ET02%26tag%3Dogawaxreacom-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4022572957"><img class="right" src="http://ecx.images-amazon.com/images/I/51ZVF3G1AXL._SL160_.jpg"
height="160" width="110"
alt="" title="">
</a>
読んだ。心臓病の母親を東京から千葉へ転院させる話。優しい人たちがたくさん登場する。うまくすると泣けそうだけどそこまでははまらなかった。3.5点。</p>
<blockquote><p>母にとっての幸福は、「希望」そのものだった。希望が叶えた幸福は実は母の幸福ではなく、希望にすがって生きていたあのころが、母にとって最も幸福な時代だったのだ。</p>
<p>育ててもらったのだと、安男は思った。</p>
</blockquote>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091104.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091104.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091104.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091104.html#p01" />
<dc:date>2009-11-04T13:15:24+09:00</dc:date>
<title>C++の仕事は終わった。今月からはJ..</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<description>C++の仕事は終わった。今月からはJava。 月曜日にJDK6 Update16をインストールしたばかりなのに、JDK6 Update17がでやがった。</description>
<content:encoded><![CDATA[<ul>
<li>C++の仕事は終わった。今月からはJava。</li>
<li>月曜日にJDK6 Update16をインストールしたばかりなのに、JDK6 Update17がでやがった。</li>
</ul>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091104.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091026.html#p02">
<link>http://ogawa.s18.xrea.com/tdiary/20091026.html#p02</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091026.html#p02" />
<dc:date>2009-10-27T04:03:09+09:00</dc:date>
<title>HTMLフォームと文字コード</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>web</dc:subject>
<dc:subject>tdiary</dc:subject>
<description>tDiaryをバージョンアップしてから、右上にある検索フォームに日本語のキーワードを入力したときに正しく検索できなくなっていた（遷移先の画面からなら検索できるので、そこでキーワードを入力し直せば検索できる）。 原因は、日記のページは文字コードがUTF-8だが検索機能はEUC-JPにしか対応していないため。pnamazuのソースを見るとNKFを使って変換しているようなのでUTF-8でも大丈夫そうに思うんだけれど、うまくいっていない。 それで、HTMLのFORM要素にはaccept-charset属性があるので、ここにEUC-JPを指定すればうまく動くはず。ということで右上のフォームにはもうこれを設定してあり、Firefoxからならちゃんと検索できるようになった。 が、IE8では依然としてうまくいかない。検索すると、IEは昔からずーっとaccept-charset属性に対応していないようだ。何故対応しないのか。  「POST 時の文字符号化方式」へのコメント （水無月ばけらのえび日記）  に IEがaccept-charsetを見るのは現在のページの文字コードで表せない文字を送信される..</description>
<content:encoded><![CDATA[<h3>HTMLフォームと文字コード</h3><p><a href="http://ogawa.s18.xrea.com/tdiary/20091012.html#p01">tDiaryをバージョンアップ</a>してから、右上にある検索フォームに日本語のキーワードを入力したときに正しく検索できなくなっていた（遷移先の画面からなら検索できるので、そこでキーワードを入力し直せば検索できる）。</p>
<p>原因は、日記のページは文字コードがUTF-8だが検索機能はEUC-JPにしか対応していないため。pnamazuのソースを見るとNKFを使って変換しているようなのでUTF-8でも大丈夫そうに思うんだけれど、うまくいっていない。</p>
<p>それで、HTMLのFORM要素には<a href="http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#adef-accept-charset">accept-charset属性</a>があるので、ここにEUC-JPを指定すればうまく動くはず。ということで右上のフォームにはもうこれを設定してあり、Firefoxからならちゃんと検索できるようになった。</p>
<p>が、IE8では依然としてうまくいかない。検索すると、IEは昔からずーっとaccept-charset属性に対応していないようだ。何故対応しないのか。</p>
<ul>
<li><a href="http://bakera.jp/ebi/topic/619/comment">「POST 時の文字符号化方式」へのコメント</a> （水無月ばけらのえび日記）</li>
</ul>
<p>に</p>
<blockquote><p>IEがaccept-charsetを見るのは現在のページの文字コードで表せない文字を送信されるデータが含んでいるときだけだからのようです。</p>
</blockquote>
<p>とあって、「現在のページの文字コードで表せない文字」をhiddenに仕込めればaccept-charset属性が使えそうなんだけれど、UTF-8で表せない文字なんて仕込めそうにない。元ページがEUC-JPなどなら使えるBKなんだろうけどなあ。</p>
<p>仕方ないので文字コードを変換するCGIを作ろうとしたが、生産性の低さにより時間切れ。わりと面倒そうなのだ。</p>
<h4>（追記）</h4>
<p>pnamazuがなぜ変換してくれないのかをもうちょっと調べてたら怪しい所があったので、pnamazuを修正してみたらIEからでも検索できるようにできた。NKFモジュールを読み込むタイミングを変えたのだけれど、これで別の問題が発生する可能性はある。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091026.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091026.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091026.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091026.html#p01" />
<dc:date>2009-10-26T21:30:21+09:00</dc:date>
<title>「めざせ皆勤賞!」ってのは部外者から..</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<description>「めざせ皆勤賞!」ってのは部外者から見てもどうかと思う。学生じゃないんだから。 コストが増えるだけで利益に貢献するとは思えない。もっと儲かる会社になって欲しいんだけど難しそう。</description>
<content:encoded><![CDATA[<ul>
<li>「めざせ皆勤賞!」ってのは部外者から見てもどうかと思う。学生じゃないんだから。</li>
<li>コストが増えるだけで利益に貢献するとは思えない。もっと儲かる会社になって欲しいんだけど難しそう。</li>
</ul>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091026.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091024.html#p02">
<link>http://ogawa.s18.xrea.com/tdiary/20091024.html#p02</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091024.html#p02" />
<dc:date>2009-10-26T01:27:41+09:00</dc:date>
<title>図書館へ行った</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>life</dc:subject>
<description>閉館が近い夜に行ったらガラガラだった。雨降ってたからかなあ。  天国までの百マイル （浅田次郎） 入門 OCaml （OCaml-Nagoya） 日経マネー 2009.8 「サラリーマンのためのお金持ち養成大学」  を借りた。</description>
<content:encoded><![CDATA[<h3>図書館へ行った</h3><p>閉館が近い夜に行ったらガラガラだった。雨降ってたからかなあ。</p>
<ul>
<li>天国までの百マイル （浅田次郎）</li>
<li>入門 OCaml （OCaml-Nagoya）</li>
<li>日経マネー 2009.8 「サラリーマンのためのお金持ち養成大学」</li>
</ul>
<p>を借りた。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091024.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091024.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091024.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091024.html#p01" />
<dc:date>2009-10-26T01:27:41+09:00</dc:date>
<title>笑わない数学者 （森博嗣）</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>book</dc:subject>
<description>読んだ。プラネタリウムのある館でのクリスマスパーティにて起こった殺人事件の話。事件の真相は不可解で謎が残る。わりと面白かった。4点。</description>
<content:encoded><![CDATA[<h3>笑わない数学者 （森博嗣）</h3><p><a href="http://www.amazon.co.jp/%E7%AC%91%E3%82%8F%E3%81%AA%E3%81%84%E6%95%B0%E5%AD%A6%E8%80%85%E2%80%95MATHEMATICAL-GOODBYE-%E8%AC%9B%E8%AB%87%E7%A4%BE%E6%96%87%E5%BA%AB-%E6%A3%AE-%E5%8D%9A%E5%97%A3/dp/4062646145%3FSubscriptionId%3D1ZYN93KGC2KDTSNXKHG2%26tag%3Dogawaxreacom-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4062646145"><img class="right" src="http://ecx.images-amazon.com/images/I/51QNGHP27HL._SL160_.jpg"
height="160" width="113"
alt="" title="">
</a>
読んだ。プラネタリウムのある館でのクリスマスパーティにて起こった殺人事件の話。事件の真相は不可解で謎が残る。わりと面白かった。4点。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091024.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091021.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091021.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091021.html#p01" />
<dc:date>2009-10-21T16:22:18+09:00</dc:date>
<title>文字列が数値かどうかのチェック</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>ruby</dc:subject>
<description>文字列が数値を表わすかどうかをRubyの正規表現でチェックしようとして少し悩んだのでメモ。小数もOKにしたい。できたのは /\A[+-]?\d+(\.\d+)?\z/ だ。（自分で考えたのは「/\A[+-]?(\d+\.\d+|\d+)\z/」だったのだけれど、この日記を書いている途中に[ruby-list:15007] Re: 文字列から数値への変換失敗を検出したいを見つけてそれを参考に変更した） 以下動作確認プログラムと実行結果。 def decimal?(str)   if str =~ /\A[+-]?\d+(\.\d+)?\z/     puts &quot;o '#{str}'&quot;     true   else     puts &quot;x '#{str}'&quot;     false   end end  decimal?(&quot;1.0&quot;) decimal?(&quot;0&quot;) decimal?(&quot;-10&quot;) decimal?(&quot;+0.123000&quot;) decimal?(&quot;00001.00099&quot;) decimal?(&quot;0.&quot;) decimal?(&quot;.0&quot;) decimal?(&quot;1..0&quot;) decim..</description>
<content:encoded><![CDATA[<h3>文字列が数値かどうかのチェック</h3><p>文字列が数値を表わすかどうかをRubyの正規表現でチェックしようとして少し悩んだのでメモ。小数もOKにしたい。できたのは</p>
<pre>/\A[+-]?\d+(\.\d+)?\z/</pre>
<p>だ。（自分で考えたのは「/\A[+-]?(\d+\.\d+|\d+)\z/」だったのだけれど、この日記を書いている途中に<a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/15007">[ruby-list:15007] Re: 文字列から数値への変換失敗を検出したい</a>を見つけてそれを参考に変更した）</p>
<p>以下動作確認プログラムと実行結果。</p>
<pre>def decimal?(str)
  if str =~ /\A[+-]?\d+(\.\d+)?\z/
    puts "o '#{str}'"
    true
  else
    puts "x '#{str}'"
    false
  end
end

decimal?("1.0")
decimal?("0")
decimal?("-10")
decimal?("+0.123000")
decimal?("00001.00099")
decimal?("0.")
decimal?(".0")
decimal?("1..0")
decimal?("1+2")
decimal?("55a")</pre>
<pre>o '1.0'
o '0'
o '-10'
o '+0.123000'
o '00001.00099'
x '0.'
x '.0'
x '1..0'
x '1+2'
x '55a'</pre>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091021.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
<item rdf:about="http://ogawa.s18.xrea.com/tdiary/20091012.html#p01">
<link>http://ogawa.s18.xrea.com/tdiary/20091012.html#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ogawa.s18.xrea.com/tdiary/20091012.html#p01" />
<dc:date>2009-10-13T03:30:20+09:00</dc:date>
<title>tDiaryを2.3.3.20090826へバージョンアップ</title>
<dc:creator>OGAWA KenIchi</dc:creator>
<dc:subject>tdiary</dc:subject>
<description>Amazonプラグインが動かないのが不便なのでやっとバージョンアップした。スピードアップする変更が入っていそうなスナップショット版へ。 2.2系から2.3系へのバージョンアップはUTF-8へ移行が発生するので心配だったが、意外とあっさり動いた。でもダメな所もあって、気づいている点をメモ。  日記の検索時に、キーワードに日本語を含めると検索できない リファラエディタプラグインが文字化けしてしまい使えない 編集用リンクを追加するGreasemonkeyスクリプトが動かない  おいおい対応していく予定。 前回バージョンアップしたときのメモが役に立ったので、今回もメモ。 ダウンロードと展開  ダウンロードページから適当なバージョンのフルセット版アーカイブをダウンロードし、適当なディレクトリに展開する。 テーマは使わないので、themeディレクトリにあるサブディレクトリを全て削除する。themeディレクトリ直下にあるファイル（base.cssなど）は削除しない。  トップディレクトリの調整  バージョンアップ前のトップディレクトリにある.htaccess、tdiary.conf、tdiary..</description>
<content:encoded><![CDATA[<h3>tDiaryを2.3.3.20090826へバージョンアップ</h3><p>Amazonプラグインが動かないのが不便なのでやっとバージョンアップした。<a href="http://www.tdiary.org/ml/devel.rb?key=/mailarchive/forum.php%3Fthread_name%3Df7aeca990908091116o1ae4d005yd46e0aa58907c83b%2540mail.gmail.com%26forum_name%3Dtdiary-devel">スピードアップする変更</a>が入っていそうなスナップショット版へ。</p>
<p>2.2系から2.3系へのバージョンアップはUTF-8へ移行が発生するので心配だったが、意外とあっさり動いた。でもダメな所もあって、気づいている点をメモ。</p>
<ul>
<li>日記の検索時に、キーワードに日本語を含めると検索できない</li>
<li>リファラエディタプラグインが文字化けしてしまい使えない</li>
<li><a href="http://ogawa.s18.xrea.com/greasemonkey/">編集用リンクを追加するGreasemonkeyスクリプト</a>が動かない</li>
</ul>
<p>おいおい対応していく予定。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20071231.html#p02">前回バージョンアップしたときのメモ</a>が役に立ったので、今回もメモ。</p>
<h4>ダウンロードと展開</h4>
<ul>
<li><a href="http://www.tdiary.org/20021112.html">ダウンロードページ</a>から適当なバージョンのフルセット版アーカイブをダウンロードし、適当なディレクトリに展開する。</li>
<li>テーマは使わないので、themeディレクトリにあるサブディレクトリを全て削除する。themeディレクトリ直下にあるファイル（base.cssなど）は削除しない。</li>
</ul>
<h4>トップディレクトリの調整</h4>
<ul>
<li>バージョンアップ前のトップディレクトリにある.htaccess、tdiary.conf、tdiary.common.conf、mimetex.xcg、index.rdfをそのままコピーする。</li>
<li>index.rbとupdate.rb内の最初の行を「#!/usr/local/bin/ruby」に修正する。</li>
<li>index.rbとupdate.rbをそれぞれindex.cgiとupdate.cgiという名前のファイルにコピーする。スレッドメモから参照されるので.rbの方も残しておく必要がある。</li>
<li>misc/plugin/trackback/tb.rbをtb.cgiという名前でトップディレクトリにコピーし、最初の行を「#!/usr/local/bin/ruby」に修正する。</li>
</ul>
<h4>プラグインの追加</h4>
<p>misc/plugin/ に、以下のプラグインファイルをコピーする。</p>
<ul>
<li>tdiary-contrib.tar.gz内にあるjdate.rb</li>
<li><a href="http://www.yotabanana.com/hiki/ja/refedit.rb.html?refedit.rb">よたらぼ保管庫</a>にあるrefedit2.rb</li>
<li>バージョンアップ前の misc/plugin/ にあるmimetex.rb</li>
</ul>
<h4>カテゴリプラグインの修正</h4>
<p>category.rbに、新しい順表示にする修正を行う。category.rbが変わっていて<a href="http://ogawa.s18.xrea.com/tdiary/20040621.html#p03">以前のdiff</a>が使えなかったので改めて差分をメモ。</p>
<pre>--- category.rb.org	2009-09-28 06:45:24.000000000 +0900
+++ category.rb	2009-09-28 06:46:35.000000000 +0900
@@ -125,7 +125,7 @@
 	&lt;div class="body"&gt;
 		&lt;ul class="category"&gt;
 HTML
-		v.to_a.sort_by{|e| e[0]}.each do |ymd, ary|
+		v.to_a.sort_by{|e| e[0]}.reverse.each do |ymd, ary|
 			text = Time.local(ymd[0,4], ymd[4,2], ymd[6,2]).strftime(@conf.date_format)
 			ary.sort.each do |idx, title, excerpt|
 				r &lt;&lt; %Q|\t\t\t&lt;li&gt;&lt;a href="#{h @index}#{anchor "#{ymd}#p#{'%02d' % idx}"}" title="#{h excerpt}"&gt;#{text}#p#{'%02d' % idx}&lt;/a&gt; #{apply_plugin(title)}&lt;/li&gt;\n|</pre>
<h4>アップロードと実行権限付与</h4>
<p>サーバにある古いバージョンのtDiaryを退避し、代わりに上の修正を行った新バージョンのtDiaryをアップロードする。そして、tdiaryディレクトリにあるtdiary.cgi、update.cgi、tb.cgi、mimetex.xcgに実行権限を付与する。</p>
<p><a href="http://ogawa.s18.xrea.com/tdiary/20091012.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
</rdf:RDF>
