您的当前位置:首页正文

angular4 获取wifi列表中文显示乱码问题的解决

2020-11-27 来源:我们爱旅游

问题描述:

如果搜索到的wifi是中文名称,那么就会显示特殊字符比如(甿ªç”Ÿè迪),乱码的问题。

这里需要使用 escape方法对特殊字符编码,然后使用 decodeURIComponent解码

具体代码如下

创建一个管道,在需要的地方使用即可。

import { Pipe, PipeTransform, Injectable } from "@angular/core";
// escape在管道中需要定义一下,要不然编译报错。
declare function escape(s: string): string;
@Pipe({
 name: "ascPipe"
})
@Injectable()
export class AscIIToGBKPipe implements PipeTransform {
 transform(value: any) {
 console.log(value);
 if (value) {
 let str = escape(value);
 let dec = decodeURIComponent(str);
 return dec;
 } else {
 return value;
 }
 }
}

补充:angular2/angular4地址栏中文乱码

有时候我们需要在url传递中文参数,但是获取时会出现乱码。网上找了好多方法,但是从前端解析的话能够真正生效的还没有找到。病急乱投医,竟然被我试出来了。话不多说,方法就是用encodeURIComponent转义两次。即:encodeURIComponent(encodeURIComponent(你要转换的对象))。