我正在和perl一起工作。我有数据保存在数据库中作为 “
如何避免格式错误的URI序列错误?
我想转义这些字符,以避免在客户端有错误的URI序列错误。这个错误似乎只发生在火狐上。我在Google上搜索时发现的修复不是使用decodeURI
,但我需要使用它才能正确显示其他字符。
任何帮助? uri_escape
在服务器端似乎不够。
在此先感谢。
Detalils: 在Perl中我做了以下内容:
print "<div style='display:none;' id='summary_".$note_count."_note'>".uri_escape($summary)."</div>";
,并在Java脚本边我想从这个div读取并将其放在另一个地方,因为这:
getObj('summary_div').innerHTML= unescape(decodeURI(note_obj.innerHTML));
其中note_obj是将摘要保存在perl上的隐藏div。 当我删除decodeURI时,问题就解决了,我在java脚本上没有得到格式错误的URI序列错误。然而我需要为其他角色使用decodeURI。
这个问题似乎在firefox和IE7上重现。
为什么uri_escape似乎不够?显示你的尝试。 :) – 2010-08-25 15:48:39
我添加了关于这个问题的细节。 – Luci 2010-08-26 07:06:20
你的意思是你的数据库包含不正确的UTF-8?或者你的意思是你的数据库包含UTF-8,这是正确的,但是当你用Latin-1工具看它时,它看起来像?你可以显示你在那里的实际字节,特别是如果你不确定这是什么意思? – tripleee 2012-12-18 04:56:24