save the file using utf8 encode this solved similar issues on diferent
plataforms.


2009/12/20 Thomas <thomas.bruye...@gmail.com>

> Hi all,
>
> The database of my application need to be filled with a lot of data,
> so during onCreate(), it's not only some create table sql
> instructions, there is a lot of inserts. The solution I chose is to
> store all this instructions in a sql file located in res/raw and which
> is loaded with Resources.openRawResource(id).
>
> It works well but I face to encoding issue, I have some accentuated
> caharacters in the sql file which appears bad in my application. This
> my code to do this :
>
>  public String getFileContent(Resources resources, int rawId) throws
> IOException
>  {
>    InputStream is = resources.openRawResource(rawId);
>    int size = is.available();
>    // Read the entire asset into a local byte buffer.
>    byte[] buffer = new byte[size];
>    is.read(buffer);
>    is.close();
>    // Convert the buffer into a string.
>    return new String(buffer);
>  }
>
> public void onCreate(SQLiteDatabase db) {
>                        try {
>                                // get file content
>                                String sqlCode = getFileContent(mCtx
>                                                .getResources(),
> R.raw.db_create);
>                                // execute code
>                                for (String sqlStatements :
> sqlCode.split(";")) {
>                                        db.execSQL(sqlStatements);
>                                }
>                                db.execSQL(HappyContactsDb.DB_CREATE);
>                                Log.v("Creating database done.");
>                        } catch (IOException e) {
>                                // Should never happen!
>                                Log.e("Error reading sql file " +
> e.getMessage(), e);
>                                throw new RuntimeException(e);
>                        } catch (SQLException e) {
>                                Log.e("Error executing sql code " +
> e.getMessage(), e);
>                                throw new RuntimeException(e);
>                }
>
> The solution I found to avoid this is to load the sql instructions
> from a huge static final string instead of a file, and all
> accentutated characters appears well.
>
> But Isn't there a more elegant way to load sql instructions than a big
> static final String attribute with all sql instructions ?
>
> Thanks in advance
>
> Thomas
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Beginners" group.
> To post to this group, send email to android-beginners@googlegroups.com
> To unsubscribe from this group, send email to
> android-beginners+unsubscr...@googlegroups.com<android-beginners%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/android-beginners?hl=en




-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.

-- 
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.

NEW! Try asking and tagging your question on Stack Overflow at
http://stackoverflow.com/questions/tagged/android

To unsubscribe from this group, send email to
android-beginners+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en

Reply via email to