我正在开发 dialgflow V1 机器人。 我真的受到这个存储库的启发:https://github.com/mlabouardy/dialogflow-angular5
我的对话流服务出现问题。 我无法发布包含特殊字符的查询。
这是我的 diaogflow 服务正在运行,但是当我传递查询时,它的代码为 utf-8,破坏了对话流:
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));
}
但是没有成功
你有什么建议吗? 多谢。 罗曼
最佳答案
尝试使用附加 header 强制它,看看是否有效。
{'内容类型':'application/json;字符集=UTF-8'}
关于json - 无法将特殊字符发布到对话流查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53393556/