今天用做的東西要用Flex調用Webserice.沒想到出來的中文全是亂碼.
于是上網找資料.結果沒有找到flex+webservice的,其他的如flex+rometeobject等等的倒是有。但是很多最終也沒有說出合適的解決辦法。很多人說要把encoding="utf-8"改成GBK、GB2312等等,但是都不奏效,相反原來直接寫在component上的中文卻成的亂碼。于是我覺得,問題不是出在客戶端,應該是服務端。于是我想起以前一些解決java中文亂碼的問題。用經典的轉換方法:
//這是一個將西歐字符轉換為gb2312字符的轉換方法
public static final String getGBString(String src) 
    
try {
        
return new String(src.getBytes("ISO-8859-1"), "gb2312");
    }
 catch (java.io.UnsupportedEncodingException e) {
        
return null;
    }

}

在webservice的java類里面的所有中文返回以前都用這個函數轉換一下。
OK,問題解決了。
但是并沒有完全解決,因為你在所有返回中文的函數里都要有這個方法。
我不知道Webservice的引擎有沒有類是Servlet的Filter的東西。以前在解決網頁上中文亂碼的時候只要寫一個Filter類在轉換就行了。