簡體   English   中英

在 angular2 發布請求中顯示 而不是 ü

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM