2011-07-18 25 views
1

我在我的數據庫中有一個編碼問題。此數據庫首先從另一個應用程序導入(使用.NET編寫,如此微軟應用程序)。所以我得到一個.sql文件,然後我下載它並在myphp admin中運行它,在那裏我可以看到varchars在utf8中。sqlite編碼android

然後我用這個(美妙的方式)腳本來自動創建一個SQLite數據庫:

https://gist.github.com/943776

然後,我有我的數據庫文件,我把它放在基本上使用我的應用程序的資產文件夾這種技術: http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

使用數據庫,而不是創建一個新的。

好一切工作完全正常的事情就是我的apopp是在西班牙和編碼是不完全正確的,如電子信件,é,ª等.... 我與 PRAGMA編碼檢查;

但編碼如果UTF-8,你建議我做什麼???我的意思是重新修改DB的一部分?

非常感謝

+0

取得了CSV時,如何做數據庫文件在看這樣的工具SQLite數據庫瀏覽器?您是否嘗試過使用該工具導入SQL文件? .sql文件在編輯器(如Notepad ++)中看起來是否正常? –

+0

你看過這個評論:https://gist.github.com/943776#gistcomment-32725? – jamapag

+0

jamapag:謝謝,我也發佈了一個問題,一旦我得到答案,我會在這裏更新。 MarvinLabs:在SQL中的原始數據庫看起來很好.sql文件或者是在線本地主機版本,但是sqlite數據庫在Sqliteman(grafic工具查看數據庫)中也存在編碼問題,並且命令行也具有與編碼相同的問題 – vallllll

回答

0

的Android源碼默認使用UTF-8。並且可能只能使用UTF-8UTF-16。你檢查,以初始化從sqlite的檢索你這樣的字符串:

new String(row.getString().getBytes(), "UTF-8") 

您還可以檢查其他選項以pragma

+0

thks fyr,我已經嘗試了你的方法,但是我仍然在文本中得到一些chineese字符而不是像é或ç這樣的字母,當我在命令行檢查數據庫時,它是一樣的:2 | 12 |Proced ncia| 0 || 3 | 13 | Demandes | 1 || 4 | 14 |關於s'allotja | 0 || 5 | 15 |人生| 0 || 1 – vallllll

0

我發現,SQLite數據庫瀏覽器2.0只顯示西文(ISO Latin 1)正確導入在數字