liquidamber/ares — Issue #3: 文字コードをしっかりする。
Author: liquidamber
Created: 2011-11-23 15:43:29+00:00
State: open

## API ##
APIで受け渡しに使う際の文字コードを何にするかは重大な問題。
-UTF-8をchar / std::stringで。
-ワイド文字列をwchar_t / std::wstringで。
## 実行環境への依存 ##
-SQLiteはUTF-8かUTF-16を選ばないといけない。
-LinuxはよくあるロケールではUTF-8だがもちろんEUC-JPの人もいる。ワイド文字列はUTF-32らしい。
-WindowsはデフォルトはShift_JISで、ワイド文字列がUTF-16である。
一言で言うと普通の文字列もワイド文字列もSQLiteに渡すには本来使えないし使うべきではない。
## 実装の都合 ##
文字の長さを取得するためにワイド文字列に変換をする所が１箇所あるが、ここも方策はいくつかある。
-iconvなどを使って適切にUTF-8をUCS-4などの文字数一定の文字列に変換する。
-直接文字数を計る。簡単に調べられる可能性がある。
また、C++11(C++0x)からはu8""リテラルがあるので、UTF-8は扱いやすい気がする。