MySQL Query mutates on huge instances:
===

I am currently calculating values to fill a database of 15 milion records. The first 7 mill went just fin,e however now my update query starts giving problems : 
Now & then a random letter changes into some jibberish.
In java I generate the query doing : 

    String updateSql = "UPDATE VanNaar SET time = CASE ID ";
            for (int i = 0; i < routes.size(); i++) {
                updateSql += " WHEN " + routes.get(i).ID + " THEN  " + routes.get(i).driveTime;
            }
            updateSql += " END, ";
            updateSql += " distance = CASE ID ";
            for (int i = 0; i < routes.size(); i++) {
                updateSql += " WHEN " + routes.get(i).ID + " THEN  " + routes.get(i).distance;
            }
            updateSql += " END WHERE id IN (";
            for (int i = 0; i < routes.size(); i++) {
                updateSql += routes.get(i).ID + ",";
            }
            updateSql = updateSql.substring(0, updateSql.length() - 1);
            updateSql += ");";

Which works just fine, as mentioned before. Here is what Java trows at me now:

    ...MySQL server version for the right syntax to use near 'Ã—HEN 8284022 THEN  999.999 WHEN 8284023 THEN  3791.0 WHEN 8284024 THEN  378...
Or

    ...MySQL server version for the right syntax to use near 'WÃˆEN 7468574 THEN  2273.0 WHEN 7468575 THEN  2410.0 WHEN 7468576 THEN  2472.0 W' at line 1

Notice the weirdisch **Ã^** or **Ã-** ,  a final exmpale, mind you the bold tekst:

`...MySQL server version for the right syntax to use near **'Â** WHEN 7228125 THEN  48590.0 WHEN 7228126 THEN  47910.0 WHEN 7228127 THEN...`

...

Update:
It seems to be getting worse..:

     Unknown column '9Â°22331' in 'where clause'