如何用Java替换MS Word撇号[你是]正常文本撇号[你是]

时间:2012-08-08 11:51:52

标签: java jsp

当我们在带有MS Word撇号的JSP上显示文本时[你是]它正在被替换为? [你是] 。请帮我找到解决方案,将MS Word撇号[你是]替换为普通文本撇号[你是]。

2 个答案:

答案 0 :(得分:0)

如果您使用od或类似内容,则可以将有问题的文件转储出去,并确定您要替换的字符的代码。然后,您可以使用Java regexp与以下Patterns之一表示字符代码:

\0n     The character with octal value 0n (0 <= n <= 7)
\0nn    The character with octal value 0nn (0 <= n <= 7)
\0mnn   The character with octal value 0mnn (0 <= m <= 3, 0 <= n <= 7)
\xhh    The character with hexadecimal value 0xhh
\uhhhh  The character with hexadecimal value 0xhhhh

e.g。

String replaced = oldString.replaceAll("\u1234", ","); // where 1234 is your character code

答案 1 :(得分:0)

将整个Web应用程序中的字符编码设置为同一个字符编码,该编码支持您要支持的所有字符。这些天强烈建议为此选择UTF-8字符编码。

查看?而不是MS Word“智能引用”表示HTTP响应编码或数据库表编码不支持相关字符。第一步是告诉JSP使用UTF-8来编码写入HTTP响应的字符。

<%@page pageEncoding="UTF-8" %>

如果这不能解决问题,那么第二步是检查DB表和/或JDBC驱动程序是否配置为使用UTF-8来存储和/或传输数据。如何做到这一点取决于你在问题中没有说明的DB make / version。所以我们建议的只是查阅其文档以获取详细信息。

另见: