[英]Displaying � instead of ü in angular2 post request
我在 angular2 應用程序的 HTML 頁面中顯示德語變音字符時遇到問題。 我的后端服務在 Java 中,它返回 json 字符串。
這是網絡選項卡中顯示的發布請求的響應。 它正確顯示 ü 字符。
但是如果我從下面的代碼段中控制數據,它會在 HTML ui 和 console 中顯示 。
getStackById(project: string, stackId: string, ibsessionid: string) {
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
return this.http.post('http://' + this.ip + ':' + this.port + '/IBPublicationBuilder/MiddlewareServlet', 'project=' + project + '&stackid=' + stackId + '&ibsessionid=' + ibsessionid + '&method=getStackById', {
withCredentials: true, headers: headers
}).map(
(res: Response) => {
console.log(res);
return res.json()}
);
}
使用以下解決方案解決了該問題。
添加
headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
在標題中,也改變了服務器端。 正如我提到的,我的服務是在 java 中的。 添加
response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
到我的響應對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.