Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Struts应用中的Unicode问题_Unicode_Struts - Fatal编程技术网

Struts应用中的Unicode问题

Struts应用中的Unicode问题,unicode,struts,Unicode,Struts,在我的struts项目中,我需要展示一些国际性的特征。我已将该字符存储在数据库中。因此,当我从DB检索到JSP时,它会显示如下内容 和#2344ेपा我花了2整天的时间在不同的论坛上解决它,但我找不到合适的解决方案。这是我最后的希望。我希望有人能透过光照在我身上 如果我点击链接,输入iso-8859-1字符नेपा将其转换,它将显示我的国际字符 谢谢 不,这是存储在DB”和#2344中的内容ेê

在我的struts项目中,我需要展示一些国际性的特征。我已将该字符存储在数据库中。因此,当我从DB检索到JSP时,它会显示如下内容

和#2344ेपा我花了2整天的时间在不同的论坛上解决它,但我找不到合适的解决方案。这是我最后的希望。我希望有人能透过光照在我身上

如果我点击链接,输入iso-8859-1字符
नेपा将其转换,它将显示我的国际字符

谢谢


不,这是存储在DB
”和#2344中的内容ेपा'

这就是我所说的html实体。当您使用jstl
c:out
输出此字符串时,它将再次逃逸
&
符号,以避免html注入和跨站点脚本攻击。呈现页面的html源代码如下所示:

नेपा
这意味着浏览器将逐字呈现
&
符号

您链接的网页似乎提供了未转换字符串作为txt下载,因为它只包含ascii范围内的字符。如果使用浏览器打开此文件,它可能会尝试将其解释为html并显示相应的国际字符


您应该调查数据库中已经存在编码字符的原因,最好将实际字节存储在定义的编码中,如utf-8。

当您将数据插入MySql数据库时,是否对字段使用
NVARCHAR
类型,如果是,是否在表前添加了
N


您必须以Unicode方式将其放入数据库中,这可以通过在字段名之前放入
N
来实现。您是否确实将html实体存储在db中?不,这是存储在db'和#2344ेपा'霍斯特曼,非常感谢你。现在我明白发生了什么。但是,与其将其存储为字节,还可以对字符进行解码,然后传递给JSP。这可能吗?@JavaGuy:可以通过将
c:out
escapeXml
设置为false来实现,但我不建议这样做。这样做将允许用户在您的页面中显示任意html和javascript,这可能用于某些恶意效果。@JavaGuy:首先,您需要帮助了解这些编码字符保存在db中的原因,请提出一个新问题,并包括jsp和action类的相关部分。