以编程方式将txt文件从ANSI转换为UTF-8

时间:2011-05-31 20:04:48

标签: java encoding utf-8 file text-files

我在这里需要你的帮助。 我正在研究一个将txt文件中的数据转换为数据库的java应用程序,问题是该文件具有ANSI编码,我无法更改,因为它来自我的应用程序外部,当我将数据写入数据库我得到了一些“???”内。 我的问题是,如何将我从文件中读取的数据从ANSI转换为UTF-8,它可以处理那些已经满足的符号。 我已经尝试过Byte []到String转换,但它没有用。

1 个答案:

答案 0 :(得分:6)

使用像这样的decoding Reader打开:

Reader reader = 
   new InputStreamReader(inputStream, Charset.forName(encodingName));

Exaclty应该使用哪个编码名称取决于写入文本文件的which "ANSI" encoding。您可以找到Java 6 here支持的编码列表。如果是英语系统,则可能是windows-1252

正确地将数据写入数据库取决于正确配置数据库和(有时)为JDBC驱动程序提供正确的配置。

您可以在herehere中详细了解字符编码处理。