问题描述:
如果搜索到的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(你要转换的对象))。