当我们在带有MS Word撇号的JSP上显示文本时[你是]它正在被替换为? [你是] 。请帮我找到解决方案,将MS Word撇号[你是]替换为普通文本撇号[你是]。
答案 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。所以我们建议的只是查阅其文档以获取详细信息。