2011-04-26 82 views
0

我想獲得具有特殊字符在它的響應XML。 這是在IE瀏覽器失敗,但在Mozilla它工作正常。 請讓我知道如何解決這個問題。Ajax響應包括特殊字符

下面的代碼:

request.setCharacterEncoding("UTF-8"); 
response.setContentType("text/xml; charset=UTF-8"); 
response.setHeader("Cache-Control", "no-cache"); 
response.getWriter().write("<xml><valid><![CDATA[2189971_Bright Starts bath time foam ©®[email protected]& toys each]]></valid><productid>123</productid></xml>"); 
+0

看起來像Java代碼,JavaScript不... – 2011-04-26 15:23:38

回答

0

嘗試增加在XML本身的編碼:

response.getWriter().write("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><valid><![CDATA[2189971_Bright Starts bath time foam ©®[email protected]& toys each]]></valid><productid>123</productid></root>"); 
+0

甚至沒有編碼XML後,我不能夠實現與:(©®特殊字符 – hari 2011-04-26 15:34:15

+0

而且我面臨的問題 – hari 2011-04-26 15:38:57

0

最有可能你的XML是無效的 - 您指定UTF8編碼的XML,但可能編寫代碼不輸出UTF8。查看瀏覽器使用某個HTTP觀察器(如Fiddler)接收的內容以確保響應正確地使用UTF8編碼(您遇到問題的字符必須進行編碼,因爲它們在ASCII範圍之上)。

不知道用什麼語言/框架您使用,但要求設置編碼和寫入響應看起來很可疑。

+0

我怎樣寫UTF-8編碼的響應XML .. – hari 2011-04-28 15:16:10

+0

我不知道你使用的是不覺得熟悉的框架,但如果失敗,GOOLGE爲您嘗試兵http://www.bing.com/search?q=request.setCharacterEncoding帶來下面的鏈接,可能是您感興趣的http://stackoverflow.com/questions/3278900/httpservletrequest-setcharacterencoding-seems-to-do-nothing – 2011-04-28 16:23:48