- ベストアンサー
access order 漢字の並び
access 2003 を使用しています。 漢字に対してorder byを実施した場合の、並び順の基準となるものを教えてください。 今まで見たサイトで言われる、unicode,s-jis,音読みなどでは無いようです。 下記サイトを参考にすると、UTF-8かUTF-16で並んでいる気はしますが。 http://ash.jp/code/unitbl21.htm 任意の並び替え(かなフィールドを作成してソート)を行いたいわけではなく、 基準を知りたいです。 昇順ソートを実行した場合。 一 三 二 宮城 岩手 秋田 青森 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
MDB上のテーブルなのか、リンクテーブルなのかADPなのか等、 何か前提条件があるかと思いますので、 検証可能な再現手順は示せますか? 当方の実験結果では、MSKBの通りSJIS順で並んでいました。 Access2003SP3 MDB上でテーブルを新規作成し、 テキスト型の「漢字フィールド」を追加、 データ入力後、 ・選択クエリで「漢字フィールド」を昇順指定 ・テーブルのデータシートビューで「漢字フィールド」を昇順に並べ替え で確認しました。 なお、HexDumpは下記の関数を利用させていただきました。 http://www.nurs.or.jp/~ppoy/access/access/acM050.html 漢字フィールド HexDump 一 88EA 岩手 8AE28EE8 宮城 8B7B8FE9 三 8E4F 秋田 8F489363 青森 90C29058 二 93F1
その他の回答 (1)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
お礼
ありがとうございます。 リンク先に、 >漢字はシフト JIS コード順に並べ替えられるため、五十音順にはなりません。 と有りますが、 私の参考にしている文字コードのサイトでは、下記順になって一致しません。 SJIS 88EA 一 8AE2 岩 8B7B 宮 8E4F 三 8F48 秋 90C2 青 93F1 二 その後も調査継続したところ、UTF-8が一致しています。 UEF-8 E4B880 一 E4B889 三 E4BA8C 二 E5AEAE 宮 E5B2A9 岩 E7A78B 秋 E99D92 青 マイクロソフトサポートが間違えているのでしょうか。 私の参考にしている文字コードのサイトが間違えているのでしょうか。
お礼
ありがとうございます。 同じようにaccess2003でテーブルを新規作成したところ s-jisで出ました。 ものぐさを発揮して、既存のファイル(access 2000)を利用していたため、 access 2003 で利用していたためにおかしくなっていたのかと思います。 (Access 2000 ファイル形式)と表示されていました。 現在、access2000 を所持していないため、 検証は行えないのです。 現象が発生したのは、 (Access 2000 ファイル形式)の状態で、 MDB上のテーブルに対して、クエリから下記SQLを実行しただけでした。 select * from table1 order by 漢字フィールド; (漢字フィールドはテキスト型) access2000もsjisのようなので、 何故、私の環境がutf-8でソートしたのか分かりませんが、 説明の付くorder byが行えるようになりましたので、 ベストアンサーとさせていただきます。