2007/11/29

UTF-8 使用時のIE の文字化け(「自動選択」と「日本語(自動選択)」)


特定のときにIE で文字化けすることがあり、でもその特定の時がどういう時なのかよくわからない、というIE を毛嫌いする理由が一つあったのですが、
http://kzworks.at.webry.info/200709/article_6.html
で原因がわかりました。
http://support.microsoft.com/kb/413581/ja
によると、
[表示] - [エンコード] メニューの中にある [日本語 (自動選択)] は、日本語に特化した (限定した) 自動選択の機能です。
このコマンドを選択した場合、インターネット上の日本語で書かれた meta タグによる文字セットの指定が無い Web ページを表示させるたびに、自動的に表示の文字セットが選択されます。
表示の文字セットは日本語の文字セット (JIS、 シフト JIS、EUC) から選択されるので、日本語で書かれた Web ページの文字セットを高い精度で自動判別することができます。
しかしながら、日本語以外で書かれた Web ページを表示する場合にも文字セットを日本語の中から選択するので、アルファベットや数字などを除いた日本語に無い文字は文字化けして表示されてしまいます。
とのこと。UTF-8 は漏れていたのですね。
たぶんHTTPヘッダでUTF-8 指定した時は大丈夫みたいなので、「Web ページ側でUTF-8 を使用していてMeta でもUTF-8を指定していて、でもHTTP ヘッダでは指定していなくて、IE が『日本語(自動選択)』を指定しているとき」に不可解に感じられる文字化けが発生していたみたいです。

なぜ「自動選択」と「日本語(自動選択)」があるんだろうという長年の疑問が解けました。

検索したら割と出てきたから結構常識なのでしょうか・・。

2007/11/28

Mail.app 障害 ふたたび

安定して稼働していたLeopard のMail.app で、外出先でopenvpn 経由で繋ごうと思ったら繋がらなくなりました。

アカウントの設定を確かめたらIMAPサーバーの設定をDNS名で参照していて、その名前では(諸事情あって)ローカルからしか引けない。

openvpn 経由なのでIP で普通に接続できることを考えれば、IP で何ら問題ないだろうと安易に考えて、IMAPサーバーの設定をIP アドレスに変更したところ、Mail.app がなにやら不安定に。

最初はメールボックスが見えない、メールが見えないな、という感じだったのが、突然、クラッシュ。

その後は再度起動してみても起動後にすぐにクラッシュするようになってしまいました。

とりあえず、Mail.app の設定を手動で直せば起動するんじゃないだろうかと思って、~/Library/Mail らへんかなと思い、探ってみると、該当すると思われるメールボックスの中の構成が

IMAP-{username}@{hostname}/IMAP-{username}@{IP}/
( "{username}" / "{hotname}" / "{IP}" は自分の環境のもの)

となっており、たまたま以前に作っていたgmail アカウントの設定(IMAP)と比較すると、なんだかディレクトリレイアウトに違和感を感じます。

あてずっぽうで
cd ~/Library/Mail
mv IMAP-{username}@{hostname}/IMAP-{username}@{IP}/ ./
などしてみたけど起動しない。

その後、ネットで調べていたら、
Library/Preferences/com.apple.mail.plist
に設定が書いてあるということを知り、プロパティリストエディタで
Library/Preferences/com.apple.mail.plist
内の設定を変更する前のホスト名で書いてある箇所を適当にIP に修正。

これでも起動せず、やや苛立ちを募らせてきたところで冷静にエラーを見ていたら、

Application Specific Information:
-[MailboxesOutlineViewStateStorage clearAndResetShouldShowVariables]
-[MetadataManager getAllCalendarStoreData]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Mailbox UID is not set'

となっている。

とりあえず、
'NSInternalInconsistencyException', reason: 'Mailbox UID is not set'
でgoogle 検索にてひっかけたら、

http://discussions.apple.com/thread.jspa?messageID=5886204
http://discussions.apple.com/thread.jspa?messageID=5899176
らへんがヒット。

良く読んだら、iCal のMail.app と連動した(とおぼしき)todo だかについて言及している人が居たので、iCal を起動してMail.app に関連づいていると思われる予定だかを削除したら起動するようになりました。

よく見たら、エラーメッセージの方にも、
-[MetadataManager getAllCalendarStoreData]
となっていたから、もう少し勘が働けば気づきそうなものですが・・。

日々トラブルシューティングです。

2007/11/26

Leopard 日本語入力の不可解な挙動


Mac OS X (Leopard) 良い点と、こまこま気になる点で書いた
・ターミナルにて素早く入力しているときに、入力したはずの文字列が欠落(および欠落に起因した誤変換?)が発生する。
という現象ですが、いろいろやっていて確かめた結果、現象をより正確に表現すると、以下のような感じでした。

ircなどのチャットソフトなどを使用していて何かを発言するために日本語入力中に他人の発言等のなんらかのターミナルに対するイベントが起きたタイミングで、日本語入力が未確定の部分に関してクリアされる。

これならなんとか他人が読んでも理解できるんじゃないかと思ってApple のフィードバックに送ってみておいた。
早く改善してほしいです。

2007/11/04

Firefox のキーワード機能

Leopard に搭載されたDictionary という機能を見て、Firefox のキーワード機能を使えば、素早くwikipedia だとか英単語だとかの検索を行う、という目的を達成できる、けど、きっとあまり一般には知られていないのだと思ったので、ちょっとご紹介します。

Firefox にはブックマークにキーワードを設定する機能があって、これを使うと様々なサイトへURL バーからダイレクトに飛んでいけます。
それだけだとあまりうれしくもないのですが、その際に「%s」 という文字列を使って適当な文字列を渡すことが出来ることで非常に便利に使えるようになります。

それでなにがうれしいかというと、
Command - L (Windows だとCtrl - L ) とかでURL 入力欄にカーソルを移して、最小限の入力でダイレクトに目的の検索を行うことが出来るのです。

たとえば、自分の場合、kakaku.com で価格を調べたい、と思うことが頻繁にあったため、
URL :http://search.kakaku.com/ksearch/search.aspx?query=%s
キーワード:kk

のような感じに設定してあります。

これで

とすれば、
http://search.kakaku.com/ksearch/search.aspx?query=macbook
を開いてくれる、という次第です。

safari にも同じような機能がエクステンションかなにかで(もしかしたら標準で)あったと思います。

と、ここまで書いておいて気づいたのですが、http://www.mozilla-japan.org/support/firefox/2.0/tutorials/search
によるとマウス操作で同等の設定が出来るみたいですね。

やり方は、右図の通り、対象の検索ボックスを右クリックして「この検索にキーワードを設定」をするだけとのこと。
知りませんでした・・。

説明があまりうまくないため、分かりにくかった方は、ここなどにもっと詳しい解説があるので興味の湧いた方はご覧下さい。

追記:alc で右のテクニックを使ったらうまくいきませんでした。
それとalc は手作業で設定した、
http://eow.alc.co.jp/%s/UTF-8/
というURL に対して日本語を投げる(例えば"alc 日本語"みたいな感じで)と%s の部分がうまく変換されませんでした。
これはFirefox の問題だと思いますが、about:config から"network.standard-url.escape-utf8"、"network.standard-url.encode-utf8"をいじった感じではうまいこといってくれませんでした。
解決策知っている方居たら教えて下さい。

2007/11/03

Leopard でIMAP 使用時にMail.app が落ちる件(解決)


Leopard のMail.app でIMAP 使用時に、起動後にすぐに終了してしまうという件、
http://discussions.apple.com/thread.jspa?messageID=5705981&tstart=0
に記載があり、.OfflineCache を削除すればうまくいくとのことだったので、

ターミナルにて
cd ~/Library/Mail/myimapaccount/
mv .OfflineCache .OfflineCache.backup
としてMail.app を起動したところ、改善されました。
(myimapaccount の部分は自分の環境に読み替える必要があります。echo ~/Library/Mail/*/.OfflineCache とでもすれば調べられると思います。)

2007/11/02

Mac OS X (Leopard) 良い点と、こまこま気になる点

良い点
  • VirtueDesktops を使ってたときに純正機能として安定したものが欲しかったので非常に快適です。
    欲を言えばCube エフェクトで切り替え出来て欲しかった。
  • Finder の動きはサクサクしたと思います。
    一個上のディレクトリに移動するボタンがなぜ無いのか悩みます。是非付けてほしい。
    それと設定で出来るのかもしれませんが、今居るディレクトリを表示してくれる機能も欲しかった。
  • 全体的なパフォーマンスの向上
    Windows と比較してやっぱり若干もっさり感が残っていたTigerに比べて、Tigerへのバージョンアップ時よりは体感度が低いですがパフォーマンスの向上を感じました。
気になる点
  • 前のエントリで書いた通り、Mail.app がIMAP でエラーして使えない。
    解決
  • Spaces 使用時にFireFox のウィンドウに切り替え後、ウィンドウがなぜかアクティブにならないため、キーボード操作だけで制御できず、最初にウィンドウをワンクリックする必要がある。
    →Command - l にてURL入力欄をアクティブにすることは出来たのでそれで概ね問題ない感じでした。
  • ターミナルにて素早く入力しているときに、入力したはずの文字列が欠落(および欠落に起因した誤変換?)が発生する。
  • インストール直後、インデックス作成のためらしいのですが、重い
    インストール後は省電力設定を変更して立ち上げっぱなしにして放置しておきました。
    これで治まれば良いのですが。
    →その後問題ないです。

Apple Mail.app が使えない。(Leopard)

Spaces 等、待ち望んでいた機能が搭載されたLeopard ですが、いきなりMail.app が不具合でて、起動後、即、強制終了してしまいます。

エラーを見るとIMAP コマンドで落ちてるのですが、どうにか回避できないのでしょうか・・。

とりあえずメインマシンじゃなくて助かった・・。

追記:解決しました。

2007/11/01

PHP でフォームの内容をキャッシュさせる際に混乱した

PHP側で必死に
session_cache_limiter('private_no_expire');

とか、それ相当のことをやっていたのにうまいこといかないからなんだろうかと思っていたら、

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">

とかその辺も書いてた・・。

ケアレスミスの多い自分用にメモ。