我正在和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