« Lionのテキストエディット.appの文字コードの仕様 | トップページ | LionにおけるLibreOfficeの動作 »

2011年7月21日 (木)

LionのSpotlightによる日本語テキストの内容検索

プレーンテキストファイルの場合

プレーンテキストファイル(拡張子.txt、.pl、.php、.c など)は、Leopard 以降の OS X 上で作成したものであればどのような文字コードであってもヒットする。それ以外の OS(Tiger、Windows、Linux)上で作成したものは Shift JIS か UTF-8 のみヒットし、EUC-JP や JIS (ISO-2022-JP) ではヒットしない(Snow Leopard 以前と違い、BOM 無し UTF-8 はヒットする)。OS X 上であってもコマンドラインプログラム(vi、nanoなど )で作成したものは Shift JIS か UTF-8 のみヒットする。

また、OS X 上で作成したプレーンテキストファイルを 一旦 Windows などに移してから OS X のハードディスクに戻したような場合、やはり EUC-JP や JIS はヒットしなくなる。

HTML ファイルの場合

UTF-8 で書かれた .html ファイルは、文頭に DOCUTYPE 宣言もしくは <HTML> タグがあれば、文字コード指定がなくてもヒットする。

例:

<html>
何を言う?早見優?

Spotlight 検索で「何を言う?」を検索した場合、UTF-8 で書かれた上記の内容の .html ファイルはヒットする。

文字コードの指定があれば Shift JIS でも EUC-JP でも JIS (ISO-2022-JP) でもヒットする。文字コード指定のための <META> タグ以外のタグが全くなくてもヒットする。

例:

<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
何を言う?早見優?

Spotlight 検索で「何を言う?」を検索した場合、EUC-JP で書かれた上記の内容の .html ファイルはヒットする。

但し、Snow Leopard 以前とは少し異なり、文字コード指定のための <META> タグ以外のタグが全くない場合、UTF-8 で書かれた .html ファイルはなぜかヒットしない(バグなのか仕様なのか不明)。

また、これもバグの可能性が高いが、ISO-2022-JP の場合、ちゃんとした HTML 構造(<HTML> タグに始まり </HTML> に終わる。<META> タグは <HEAD> タグではさむ、など)をとっていて、なおかつ文字コード指定のための <META> タグで ISO-2022-JP を指定してあっても、ヒットしない。だが奇妙なことに、上記のように <META> 以外のタグが全くなければヒットする。

上記に関わらず、<META> タグ内で robots を noindex と指定すればヒットしなくなる。

文字コード指定がなく、文頭に DOCUTYPE 宣言もしくは <HTML> タグも書かれていない .html ファイルはヒットしない。


« Lionのテキストエディット.appの文字コードの仕様 | トップページ | LionにおけるLibreOfficeの動作 »