我在数据库(Sql Server DB 2000)中有一个字段与varchar字段一起存储了泰文句子(以Unicode形式)。我正在使用Locale对象将Unicode数据转换为泰文句子,如下所示
NumberFormat thai = NumberFormat.getNumberInstance(new Locale("th", "TH", "TH"));//Line1
String thaiText = ResultSet.getString(i);// Data Fetched From DB//Line2
double number = thai.parse(thaiText).doubleValue();//Line3
String outputString= nf.format(number);//Line4
我在第3行收到以下异常:-
java.text.ParseException: Unparseable number: "ä¢è»ÅÒËÅèÍ"
最佳答案
问题不在第三行。也就是说,它与您解析字符串的方式不同。
由于早期的编码问题,thaiText
的内容已损坏。您需要跟踪文本变差的地方。
在将文本放入数据库之前,该文本可能是错误的。
将文本放入数据库时,文本可能变质。
从数据库中检索文本时,文本可能变质。
找出上述情况中的哪种情况,这将告诉您需要在哪里解决该问题。