我在数据库(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的内容已损坏。您需要跟踪文本变差的地方。


在将文本放入数据库之前,该文本可能是错误的。
将文本放入数据库时​​,文本可能变质。
从数据库中检索文本时,文本可能变质。


找出上述情况中的哪种情况,这将告诉您需要在哪里解决该问题。

09-11 21:50