機種依存文字の検索についてNo.14525
ゆき さん 03/04/23 16:33
 
はじめまして。
機種依存文字の検索・置換について質問があります。

環境は、WindowsXP Professional SP1、秀丸Ver3.19です。

任意のテキストファイルを開き、
「・」で表示されている機種依存文字を範囲指定し、検索実行をしましたが、検索で
きません。
ファイルタイプ別の設定で
保存・読み込みの標準の文字コードの指定は「日本語(SHIFT-JIS)」にしています。
検索できなかった文字は、「SHIFT-JIS 0x86D6」です。

検索できなかったテキストファイルを秀丸で開き、
文字コードは「日本語(SHIFT-JIS)」を指定し、別名で保存。
改めて、秀丸で開いて検索しましたが、できませんでした。

検索できかったテキストファイルをWordまたは一太郎で開き、テキスト形式で保存。
このテキストファイルを秀丸で開いた時は、検索が可能でした。

Windows2000、秀丸Ver3.19では普通に検索できたのですが・・・
何が原因なのしょうか?
よろしくお願いします。

[ ]
RE:14525 機種依存文字の検索についてNo.14526
でるもんた さん 03/04/23 17:12
 
でるもんたです。

> 任意のテキストファイルを開き、
> 「・」で表示されている機種依存文字を範囲指定し、検索実行をしましたが、検索で
> きません。
> ファイルタイプ別の設定で
> 保存・読み込みの標準の文字コードの指定は「日本語(SHIFT-JIS)」にしています。
> 検索できなかった文字は、「SHIFT-JIS 0x86D6」です。

途中で UNICODE が介在しているのが原因だと思います。
(0x86D6 を入力しても、いったん UNICODE に変換され、その段階で文字が欠落
してしまうと思われます。)

hidesoft.2:13132(昨年 10 月 15 日)が参照できればそれも参考にしてください。

対策としては、検索・置換の際に「正規表現」を ON にして、文字コードで直接
\x86\xD6 と指定してください。

[ ]
RE:14526 機種依存文字の検索についてNo.14528
ゆき さん 03/04/24 09:11
 
ゆきです。
ありがとうございます。
文字コードを直接入力すると検索できました。

>途中で UNICODE が介在しているのが原因だと思います。
>(0x86D6 を入力しても、いったん UNICODE に変換され、その段階で文字が欠落
>してしまうと思われます。)

過去ログ(機種依存文字の強調表示)を読ませていただきました。
Windows2000では、SJIS→Unicode→SJISの変換が正常に行われているため
通常の検索(範囲指定orコピー&ペースト)で検索可能ということですね。
WindowsXPでは「SJIS→Unicode→SJISの変換」ができないということになるのしょう
か?
でるもんたさんは、投稿した当時のOSは何ですか?
OSが原因ではなく個人のPCが原因ということになるのでしょうか?

[ ]
RE:14528 機種依存文字の検索についてNo.14529
でるもんた さん 03/04/24 09:53
 
でるもんたです。

> ありがとうございます。
> 文字コードを直接入力すると検索できました。

おめでとうございます。

> >途中で UNICODE が介在しているのが原因だと思います。
> >(0x86D6 を入力しても、いったん UNICODE に変換され、その段階で文字が欠落
> >してしまうと思われます。)
>
> 過去ログ(機種依存文字の強調表示)を読ませていただきました。
> Windows2000では、SJIS→Unicode→SJISの変換が正常に行われているため
> 通常の検索(範囲指定orコピー&ペースト)で検索可能ということですね。

逆です。0x86D6 は UNICODE に変換できない文字なので、
・Windows 2000 では、検索ダイアログの場合は SJOS→UNICODE→SJIS の変換が
 介在しないため、正しく入力・検索できる
・Windows XP ではこの変換が介在してしまうため、UNICODE から SJIS に戻す
 ときに元のコードに戻らず、従って、「・」で表示される文字は入力・検索
 できない
ということになります。

ためしに、「文字コード表示」(メニューからその他(O)→コマンド一覧→その
他(O)→文字コード表示)でカーソル位置の文字コードを表示させてみると、
0x86D6 に限らず、「・」で表示される文字はすべて UNICODE 0x30FB に割り
当てられていることがわかります。

> でるもんたさんは、投稿した当時のOSは何ですか?

そのときは Windows 98 でした。現在は Me です。

[ ]
RE:14529 機種依存文字の検索についてNo.14530
ゆき さん 03/04/24 10:12
 
詳しく説明していただいて、ありがとうございます。

>ためしに、「文字コード表示」(メニューからその他(O)→コマンド一覧→その
>他(O)→文字コード表示)でカーソル位置の文字コードを表示させてみると、
>0x86D6 に限らず、「・」で表示される文字はすべて UNICODE 0x30FB に割り
>当てられていることがわかります。

文字コードを表示させて、確認してみました。
確かに「0x86D6」以外の「・」で表示される文字は「UNICODE 0x30FB」でした。
今後、検索・置換、マクロの記述等を行うときは、直接文字コードを入力・記述しま
す。

解決です!ありがとうございました。

[ ]