今天用做的東西要用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類在轉換就行了。
于是上網找資料.結果沒有找到flex+webservice的,其他的如flex+rometeobject等等的倒是有。但是很多最終也沒有說出合適的解決辦法。很多人說要把encoding="utf-8"改成GBK、GB2312等等,但是都不奏效,相反原來直接寫在component上的中文卻成的亂碼。于是我覺得,問題不是出在客戶端,應該是服務端。于是我想起以前一些解決java中文亂碼的問題。用經典的轉換方法:








在webservice的java類里面的所有中文返回以前都用這個函數轉換一下。
OK,問題解決了。
但是并沒有完全解決,因為你在所有返回中文的函數里都要有這個方法。
我不知道Webservice的引擎有沒有類是Servlet的Filter的東西。以前在解決網頁上中文亂碼的時候只要寫一個Filter類在轉換就行了。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
