我正在尝试使用一些日文文本读取 CSV 文件,并将该文件中的一些数据写入数据库。CSV 是通过一些我不太熟悉的 Flex 代码上传的。但在我的后端,我有简单的 byte[] 文件内容。我正在使用以下代码:
//content is an array of bytes, returned by Flex side
ByteArrayInputStream in = new ByteArrayInputStream(content);
BufferedReader br = new BufferedReader(new InputStreamReader(in, Const.ENCODING_SHIFT_JIS));
String strLine;
try {
while (true) {
strLine = br.readLine();
//processing CSV line by line and eventually writing data to DB
...
当我调试 strLine 变量时 - 我只看到问号而不是日文汉字字符(特别是,我已经在汉字字符裵上测试过它)。其他日文字符似乎没问题(例如〒字符)。在调试窗口中(后来在我的数据库中)它看起来像这样:〒���
如果我在做同样的事情,但在我的代码中使用 UTF-8 和 Const.UTF-8 而不是 Const.ENCODING_SHIFT_JIS 文件编码 - 一切正常。但客户需要 Shift-JIS 支持。也许有人可以告诉我如何解决这个问题,或者至少在哪个特定领域(flex、java、shift-jis 编码本身......)它可能是?