我有一个问题,当最终用户从HTML提交数据时
Web应用程序中的表单,他们正在从Word复制数据
包含长破折号或破折号的文档。
按照逻辑,我们尝试从数据库中读取这些数据,
将其写入Excel文件。
结果,这些字符在excel中生成,如下所示
下面,其中包含一种问号。
Actual output : 1993 � 1995
Expected output : 1993 – 1995
我已经用Java完成了UTF-8编码,但是在excel中仍然得到了相同的输出。如何解决呢?
以下是我的代码摘录。
try {
keyStrenghts = new String(keyStrenghts.getBytes("utf-8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我正在使用JDK 6和apache poi生成excel文件。
最佳答案
如果仅限于破折号,这可能会解决您的问题:
keyStrenghts = keyStrenghts.replaceAll("\\p{Pd}", "-");
如here所述,这使用正则表达式将所有破折号替换为ascii“-”。
关于java - 如何在Java中转换破折号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42549489/