sqlite が SHIFT JIS に対応してなくてはまった件

仕事で Sqlite 使ってるんですが、Shift JISではまったのでメモ・ω・

・SQLITE は日本語非対応(厳密には SHIFT JISに対応してないが UTF-8に対応している)
・SQLITE は ダブルワードにも対応している (UTF-16)

動いていたプログラムが日本語フォルダに置いただけで動かない。
何故か…?

・実はsqlite3_open で 日本語フォルダを開くとデータベースが既存でも必ず新規Openになっているのでエラーにならないが、終了時にクラッシュする。
・ファイル名だけ日本語にすると、化けた日本語名で保存される。

要するに、sqlite3_open 使う前に、ファイルパスも SHIFT JIS から UTF8にいちいち変換してやらないといかんわけですね。
(データさえ変換してあればいいものだと思っていました。)

ちなみに、sqlite3_open16 を使うと wchar_t が使えるので、こっちの方がいいかもしれない ・ω・!



おすすめ

1件の返信

  1. daiki より:

    はじめまして。さっそくですがもふったー使ってみました。
    インストール手順は詳しく書かれていますが
    ヘルプファイルが同梱されていませんね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です