在我的Java Web应用程序之一中,描述字段必须允许中文字符。如图https://i.stack.imgur.com/6w2K3.jpg所示,在JSP格式中,字段正确地允许它们使用,将数据作为TEST插入到数据库中-测试说明 JSP使用UTF-8编码样式,数据库为MS SQL Server 2016,数据库列类型为NTEXT。 JSP没有问题,但是在生成报告(如.rtf)时,此数据以编码的字符串格式显示,即TEST-测试说明不是汉字。 生成报告时使用的编码类型为UTF-8。 任何人都可以帮助我解决这个问题。
答案 0 :(得分:0)
这些测
等字符需要被解码。使用JSP,最有可能不需要解码它们,因为JSP生成HTML并按原样输出此文本,从而生成有效转义的HTML字符。
但是RTF和其他不是HTML,因此它们不适用于HTML。对于它们,您需要先对字符进行解码,然后再尝试输出它们。
Commons-lang的StringEscapeUtils将提供实现此目的的方法。或者,您也可以为此编写自己的解码器,这很简单,以防万一您不想添加整个库来做到这一点。