2012-12-13 14 views
5

Próbowałem utworzyć bazę danych sqlite z pliku csv. Zrobiłem to, jak to jest powiedziane na tej stronie: using your own sqlite db in android i to: import csv to sqlitebazy danych sqlite w języku perskim

, ale problem występuje, gdy tabela zawiera dane w języku farsi/arabskim. sqlite pokazuje tę postać jako "_". co powinienem zrobić?

PS. Chcę użyć tego DB w projekcie Android.

edit: importować CSV do sqlite przy użyciu tego kodu:

CREATE TABLE "android_metadata"("locale" TEXT DEFAULT 'en_US'); 
CREATE TABLE "addresses"(_id integer PRIMARY KEY, 
nametext, meaning text); 
.separator "," 
.import test.csv mydb 
+0

Jak zaimportować plik CSV do bazy danych? –

+0

@BorisStrandjev, u'v właśnie dodano kod – shohreh

+0

@shohreh: Jak mogę posortować pole na podstawie perskiego słowa? – smoqadam

Odpowiedz

3

SQLite obsługuje UTF-8, UTF-16 i to wystarcza zupełnie do przechowywania arabski lub perski.

Najprawdopodobniej otrzymasz "_", ponieważ narzędzie importu oczekuje innego zestawu znaków niż zestaw znaków oryginalnego pliku.

1

Perski/Farsi nie jest obsługiwana w Androida do wersji 4.0, ale są pewne rzeczy, które mogą pomóc wymienione here.

Natknąłem się również na numer this stackoverflow question o liczbach perskich w SQL, choć nie jestem pewien, czy to w ogóle pomoże.

Znalazłem podobne pytanie do Ciebie: C# - Does Sqlite database support persian/arabic encoding? i to wydaje się dać odpowiedź niestety negatywne:

W skrócie: Nie

Wsparcie SQLite jedynie bardzo ograniczoną liczbę kodowań : UTF-8 i UTF-16 (wiele odmian).

Na szczęście UTF-8 doskonale nadaje się do wyrażania języka arabskiego lub perskiego, lub dowolnego innego języka (w tym Klingon, jeśli przypadnie Ci do gustu).

Oczywiście możliwe jest, że inna część twojego toolchaina spartaczy kodowanie, sprawdzi dokumentację dla wrappera SQLite C# .net i twojego kodu Forms.

+0

nie ma problemu z Androidem. Problem polega na przekonwertowaniu pliku CSV na plik sqlite .db. po zaimportowaniu pliku csv znaki w języku perskim zmieniają się na "_" – shohreh

+0

Dobrze, ale zgodnie z cytowanym wyżej cytatem, z trzeciego linku Sqlite nie obsługuje kodowania persjon/arabskiego, więc może być konieczne wykonanie analizy/parsowania w pliku CSV, aby zmienić persion/znaki arabskie na coś, co może obsłużyć SQLite. – breadbin

Powiązane problemy