Google Code Prettify

2017年6月20日 星期二

在 WebSphere 上 Angular 中文存入資料庫變亂碼!

我的 Application Server 是 IBM WebSphere Application Server 8.5.5.x,前端是 Angular,後端是 spring MVC 提供的 REST 服務,只要前端輸入中文,傳到後端存入資料庫就是亂碼! 解決的辦法如下:
  • 前端 (Angular)
let reason = encodeURI(encodeURI(member.reason)); 
this.http.get(CUSTOMER_SERVICE_URL + member.id + "/" +  + reason)
.map(resp => resp.json())
.catch(this.handleError);

reason 是中文欄位,編碼兩次!
  • 後端 (Java)
String utf8Reason = java.net.URLDecoder.decode(reason , "UTF-8");

後端收到傳來的參數後,針對中文欄位解碼一次!

這個方法很怪,但是我還沒有找到其它解決的辦法。