やじゅ@アプリケーション・ラボ わんくま支局

目次

Blog 利用状況

ニュース

プロフィール

MSMVP

[AIR]SQLiteの日本語ソートがおかしい

仕事でAIRを使った業務アプリケーションを作成しているのですが、名称でソートした場合に漢字よりもカタカナが後ろに並ぶなどしてどうにもおかしい。
例 カタカナのチが漢字の真ん中に並ぶ
切断
チューブ
部品

どうしてなのか、ネット検索して見つけた下記サイトにそのヒントを見つけた。

SQLiteの日本語ソート問題
http://d.hatena.ne.jp/Fio/20081010/p1

このサイトによると、文字コードがUTF-16LEで作成されていた場合に、日本語のソートが正しく行われないとある。
UTF-8など別に文字コードに変更すれば日本語のソートが正しく行われる。

並び順
1(全角)
A(全角)
1(半角)
A(半角)
a(全角)


a(半角)

ア(半角)
ア(全角)

そもそも、VisualBasicやC#でも内部の文字コードはUTF-16LEで行われており、配列のソートを使ったとしても正しく行われる。
そんなことを思いながら、さらに検索してみると下記サイトを見つけた。

sqlite の内部ソート関数がきっちり UTF-16le に対応できていないのではないか
http://macs.o-ya.net/cboard/c-board.cgi?cmd=one;no=636;id=bbs

そこで、メモ帳で先程の並び順の文字を貼りつけて、Unicodeに保存してバイナリエディタで各文字コードを参照してみた。
その文字コードをみると、本来UTF-16LEなので、上下バイトを反転した上でソートしなければならないが、そのままでソートされているのである。
これはあきらかに不具合以外の何物でもないだろう。

1(全角) 11FF
A(全角) 21FF
1(半角) 3100
A(半角) 4100
a(全角) 41FF
4230
4868
a(半角) 6100
6888
ア(半角) 71FF
ア(全角) A230
   
0752
C130
E890

AIRのローカルデータベース作成する際には文字コードの指定はなく、デフォルトでUTF-16LEで作成されてしまう。
AIRで新規にデータベースを作成しないで、別途UTF-8で作成したデータベースを使えばいいかもしれないが・・・

AIRで文字コードを指定してローカルデータベース作成するといった解決方法はあるのだろうか?
あれば知りたい。

追記
SQLiteのファイルフォーマットを参照し、59byteの値を1:UTF-8に書き換えるようなプログラムを別途追加すれば文字コードを変えることができる。
http://www.sqlite.org/fileformat.html

投稿日時 : 2012年7月28日 11:10

コメントを追加

# stromectol 3 mg tablet http://stromectolabc.com/
stromectol how much it cost 2022/02/08 2:42 Busjdhj

stromectol 3 mg tablet http://stromectolabc.com/
stromectol how much it cost

# ivermectin 2mg http://stromectolabc.com/
cost of ivermectin 1% cream 2022/02/08 9:29 Busjdhj

ivermectin 2mg http://stromectolabc.com/
cost of ivermectin 1% cream

# buy doxycycline for dogs https://doxycyline1st.com/
cheap doxycycline online 2022/02/26 8:16 Doxycycline

buy doxycycline for dogs https://doxycyline1st.com/
cheap doxycycline online

# JsWMPEMlySyV 2022/04/19 9:44 johnanz

http://imrdsoacha.gov.co/silvitra-120mg-qrms

# ed meds online without doctor prescription https://withoutprescription.store/
ed meds online canada 2022/07/03 3:26 CanadaRx

ed meds online without doctor prescription https://withoutprescription.store/
ed meds online canada

# prescription without a doctor's prescription: https://medrxfast.com/ 2022/08/07 8:50 MedsRxFast

prescription without a doctor's prescription: https://medrxfast.com/

# paxlovid ema https://paxlovid.best/
paxlovid ingredients list 2022/09/08 7:31 Paxlovid

paxlovid ema https://paxlovid.best/
paxlovid ingredients list

# ed pill https://ed-pills.xyz/
ed treatment review 2022/09/17 15:01 EdPills

ed pill https://ed-pills.xyz/
ed treatment review

# can we buy amoxcillin 500mg on ebay without prescription https://antibiotic.best/ 2022/10/08 8:54 Antibiotic

can we buy amoxcillin 500mg on ebay without prescription https://antibiotic.best/

# prednisone online india https://prednisone20mg.icu/ 2022/10/15 13:16 Prednisone

prednisone online india https://prednisone20mg.icu/

# dates online for money https://topdatingsites.fun/
best date sites 2022/11/15 0:22 DatingTop

dates online for money https://topdatingsites.fun/
best date sites

# purchase prednisone from india https://prednisonepills.site/
prednisone 10mg cost 2022/11/28 23:47 Prednisone

purchase prednisone from india https://prednisonepills.site/
prednisone 10mg cost

# facebook dating site https://datingsiteonline.site/
singles dating 2022/12/05 23:43 Tading

facebook dating site https://datingsiteonline.site/
singles dating

# single women local https://datingonlinehot.com/
thai flirt 2022/12/09 19:15 Dating

single women local https://datingonlinehot.com/
thai flirt

# local singles https://datingonline1st.com/
adoult dating 2023/01/17 22:26 Dating

local singles https://datingonline1st.com/
adoult dating

# doors2.txt;1 2023/03/14 15:34 dIqKPlPx

doors2.txt;1

# doors2.txt;1 2023/03/14 17:01 uewqcYuFXqwPaLyLsS

doors2.txt;1

# pet meds without vet prescription canada - https://cheapdr.top/# 2023/04/03 9:36 Dikolipo

pet meds without vet prescription canada - https://cheapdr.top/#

# order cytotec online - https://cytotecsale.pro/# 2023/04/28 23:26 Cytotec

order cytotec online - https://cytotecsale.pro/#

# ed meds online without doctor prescription https://edpills.ink/# - natural ed medications 2023/07/26 20:01 EdPills

ed meds online without doctor prescription https://edpills.ink/# - natural ed medications

# 200 mg prednisone daily https://prednisone.bid/ 5 mg prednisone tablets 2023/12/27 6:52 Prednisone

200 mg prednisone daily https://prednisone.bid/ 5 mg prednisone tablets

# prednisone pill https://prednisonepharm.store/ prednisone 20mg price in india 2024/01/20 15:52 Prednisone

prednisone pill https://prednisonepharm.store/ prednisone 20mg price in india

# eva elfie izle https://evaelfie.pro/ eva elfie video 2024/03/03 8:44 EvaElfia

eva elfie izle https://evaelfie.pro/ eva elfie video

# sweetie fox video https://sweetiefox.pro/ - sweetie fox new
2024/03/06 20:24 SwitieFox

sweetie fox video https://sweetiefox.pro/ - sweetie fox new

# gates of olympus giriş - https://gatesofolympus.auction/ gates of olympus 2024/03/27 19:06 Olympic

gates of olympus giriş - https://gatesofolympus.auction/ gates of olympus

タイトル  
名前  
URL
コメント