這個週末在嘗試 Dojo 和 Yahoo! User Interface Library (YUI) 的時候,才突然發現之前的
AJAX 範例都沒有從 XMLHttpRequest 傳送中文的資料給遠端的 Tomcat servlet。 而發現的原因在於為 Dojo 和
YUI 所寫的程式中,其中一個範例是由 browser 送出 一個中文的(Big5)欄位資料到遠端的 Tomcat servlet
處理,而處理的結果卻是亂碼。這樣子一來就打亂了我的休假,連續兩個晚上測到凌晨一、兩點 (對一個老人來說,是很大的折磨)。目前找到的資料中,以
- JOhn O’Conner, Character Conversions from Browser to Database, Sun Developer Network, 01/2006.
- Greg Murray, AJAX I18n with Java, Greg Murray’s Blog, 03/2006.
- 由 XMLHttpRequest 送出去的 URL:如果 URL 包含 Big5 的資料,XMLHttpRequest 會不會 encode,而且又是以何種方式 encode?
- server 是如何解讀收到的 URL:目前知道 Tomcat (我的主要 servlet 的開發 平台)是採用 ISO-8859-1 編碼方式來接收,因此解碼的方式可以用 ISO-8859-1 來進行。但是,如果 browser 送過來的資料是以 UTF-8 編碼,那要怎麼辦呢?
沒有留言:
張貼留言