Java 日文字符未正确显示转换CSV文件
我正在从project转换CSV文件。它包含日语字符。我正在将数据插入SQLite数据库。插入没有问题,但字符显示不正确。 如果我直接插入:Java 日文字符未正确显示转换CSV文件,java,csv,encoding,utf-8,character-encoding,Java,Csv,Encoding,Utf 8,Character Encoding,我正在从project转换CSV文件。它包含日语字符。我正在将数据插入SQLite数据库。插入没有问题,但字符显示不正确。 如果我直接插入: String str = content_parts[2]; sentence.setValue(str); 获取如下值: ããããããããããããã 我已尝试从JIS解码为UTF8: String str = content_parts[2]; byte[]
String str = content_parts[2];
sentence.setValue(str);
获取如下值:
ããããããããããããã
我已尝试从JIS解码为UTF8:
String str = content_parts[2];
byte[] utf8EncodedBytes = str.getBytes("JIS");
String s = new String(utf8EncodedBytes, "UTF-8");
sentence.setValue(s);
JIS:
$B!)!)!)!)!)!)!)!)!)!)!)!)!!)!)!)!)!)!!/)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!)!!)!)!)!r!)!!)!)!!)!)!!)!)!!)!)!)(B)
轮班JIS:
??????�N�}??????????????????��?????�N�N��??????
班次(JIS):
是吗????????????????????????��?�N��??????
CSV文件(由Excel 2010打开时)
n圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪圪
我做错了什么?如何解决这个问题?如果您仍在寻找解决方案,请参阅下面的链接 简而言之,将BOM(字节顺序标记)字符添加到文件outputstream中,然后再将其传递给outputstream编写器 String content=“要写入文件的字符串(任何语言)” FileOutputStream fos=新的FileOutputStream(“D:\csvFile.csv”) fos.write(239) fos.write(187) fos.write(191) Writer w=新的缓冲Writer(新的OutputStreamWriter(fos,StandardCharsets.UTF_8)) w、 写作(内容) w、 close()
希望这将有助于文件中的文本使用哪种编码?问题可能是数据库编码,而不是javadisplay@immibis,老实说,我不知道。现在我正在寻找如何识别encoding@ortis,我已尝试使用System.out.println.console中的数据库和值相同,如果您无法在DB客户端中显示正确的单词,则可能是数据库编码问题。请检查编码是否为UTF8