diff --git a/src/com/activeandroid/util/SqlParser.java b/src/com/activeandroid/util/SqlParser.java index f9531b7c8..7f17657ee 100644 --- a/src/com/activeandroid/util/SqlParser.java +++ b/src/com/activeandroid/util/SqlParser.java @@ -18,8 +18,10 @@ */ import java.io.BufferedInputStream; +import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; @@ -34,11 +36,13 @@ public class SqlParser { public static List parse(final InputStream stream) throws IOException { final BufferedInputStream buffer = new BufferedInputStream(stream); + final BufferedReader reader = new BufferedReader(new InputStreamReader(stream, "UTF-8")); final List commands = new ArrayList(); + final StringBuffer sb = new StringBuffer(); try { - final Tokenizer tokenizer = new Tokenizer(buffer); + final Tokenizer tokenizer = new Tokenizer(reader); int state = STATE_NONE; while (tokenizer.hasNext()) { @@ -100,11 +104,11 @@ public static List parse(final InputStream stream) throws IOException { return commands; } - private static boolean isNewLine(final char c) { + private static boolean isNewLine(final int c) { return c == '\r' || c == '\n'; } - private static boolean isWhitespace(final char c) { + private static boolean isWhitespace(final int c) { return c == '\r' || c == '\n' || c == '\t' || c == ' '; } } diff --git a/src/com/activeandroid/util/Tokenizer.java b/src/com/activeandroid/util/Tokenizer.java index 8ae34da32..f337caf94 100644 --- a/src/com/activeandroid/util/Tokenizer.java +++ b/src/com/activeandroid/util/Tokenizer.java @@ -19,16 +19,17 @@ import java.io.IOException; import java.io.InputStream; +import java.io.Reader; public class Tokenizer { - private final InputStream mStream; + private final Reader mStream; private boolean mIsNext; private int mCurrent; - public Tokenizer(final InputStream in) { + public Tokenizer(final Reader in) { this.mStream = in; }