我正在使用Dialgflow V1机器人。 我真的受到这个存储库的启发:https://github.com/mlabouardy/dialogflow-angular5
我的dialogflow服务出现问题。 我不能发布带有特殊字符的查询。
这是我的diaogflow服务的工作方式,但是当我通过查询时,它是utf-8的代码,它破坏了dialogflow:
import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';
import 'rxjs/Rx'
import { environment } from '../../environments/environment';
@Injectable()
export class DialogflowService {
private baseURL: string = "https://api.dialogflow.com/v1/query?v=20170712";
private token: string = environment.dialogFlowToken;
constructor(private http: Http){}
public getResponse(query: string){
let data = {
query : query,
lang: 'fr',
sessionId: '12345'
}
return this.http
.post(`${this.baseURL}`, data, {headers: this.getHeaders()})
.map(res => {
return res.json()
})
}
public getHeaders(){
let headers = new Headers();
headers.append('Authorization', `Bearer ${this.token}`);
return headers;
}
}
我尝试使用:
encode_utf8(s) {
return unescape(encodeURIComponent(s));
}
decode_utf8(s) {
return decodeURIComponent(escape(s));
}
但这没用
您有建议吗? 非常感谢。 罗曼(Romain)
答案 0 :(得分:2)
尝试使用其他标题强制使用它,看看是否可行。
{'Content-Type':'application / json; charset = UTF-8'}