- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLiteで作ったデータベースの文字コード変換)
SQLiteデータベースの文字コード変換方法について
このQ&Aのポイント
- PHPとSQLiteを使って運用しているサイトで、データベースの文字コードをECU-JPからUTF-8に変換したいです。
- データベースの文字コード変換による文字化け問題を解決する方法について教えてください。
- 既にSQLiteManagerで文字コード設定をECU-JPからUTF-8に変更済みです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SQLite自体には、文字コード変換機能はないので、phpで取り出してから、文字コードを変換して表示する必要があります。 しかし、データの検索やソートにおいて、そのままでは不具合が出る可能性があるので(既に格納されてる文字と、これから格納する文字との文字コードが違ってしまうし、検索に際してeucであるものをUTF8として検索するとうまく引っかからなくなったりするので) 既に格納されてる文字列の文字コード変更が必要ですけど、やはり一旦phpで読み出して、文字コード変換したうえで、再格納という作業が必要です。 SQLiteManagerから一括でエクスポートはできるようなので、 1.エクスポートで構造とデータを読み出して、 2.エディターで、読み出しファイルの文字コードを変換して保存、 3.変換したファイルから、とりあえず別のデータベースファイルに再構成、 4.問題なく出来ていたら、元のファイルを消して、新しく作った方のファイル名を元のファイルの名前に変更という手順でいけそうですけど。 以下のページを参照してみてください。 「SQLiteのデータベースの移行」 http://allabout.co.jp/gm/gc/47440/
お礼
phpで読み込み→mb_convert_encodingで変換→別ファイルに再保存で行けました! 一括変換する機能やソフトがあるものとばかり思っていたので、 自分で変換プログラムを組むという考えがすっぽり抜けていました^^; 大変参考になりました!有難う御座います!