在 angular2 post 请求中显示 � 而不是 ü

Displaying � instead of ü in angular2 post request

我在 angular2 应用程序的 HTML 页面中显示德语元音变音字符时遇到问题。 我的后端服务在 java 中,它 returns json String.

这是网络选项卡中显示的 post 请求的响应。并且正确显示 ü 字符。

但如果我从下面的代码片段中控制数据,它会在 HTML ui 和控制台中显示 �

    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()}
      );
  }

控制台:

UI:

使用以下解决方案解决了问题。

已添加

headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');

在 header 中也更改了服务器端。 正如我提到的,我的服务在 java 中。 已添加

response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");

我的回复object。