Sqlite3で日本語入力しようとすると、入力キャンセルされてしまうというか、日本語を入力した瞬間エラー音とともに文字が消えてしまう。
Sqlite3を直に触る機会が少なくて、使う度に日本語入力の方法をググっているのでメモ。
- Terminal > 環境設定 > 詳細タブ
にある、
- Control + V で非 ASCII 入力をエスケープ
をチェックすればOK。入力してみる。
// "オボンのみ" を検索したい。
sqlite> select * from item where item = "\U+00E3\U+0082\U+00AA\U+00E3\U+0083\U+009C\U+00E3\U+0083\U+00B3\U+00E3\U+0081\U+00AE\U+00E3\U+0081\U+00BF";
554|オボンのみ
// タラプのみをinsertしたい。
sqlite> insert into item values(620,"\U+00E3\U+0082\U+00BF\U+00E3\U+0083\U+00A9\U+00E3\U+0083\U+0097\U+00E3\U+0081\U+00AE\U+00E3\U+0081\U+00BF");
日本語を入力した瞬間にエスケープされてしまうけど、検索結果は返ってきてるので、いけてるっぽい。
Sqlite3をいじる時はこれでよさそう。
けど文字コード?がおかしくなってしまってる。
文字エンコーディングはUnicode (UTF-8)になってるからUTF-8かと思ったら違うみたいだし、
Unicodeっぽいけど違うし、いろいろ調べたらASCII-8bit?とかいうの出てきたけどよくわからない…。
だれか分かる人いたらおしえてください!!!