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

2018-10-20 23 zxc19890923

问题描述:

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

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

展开阅读全文

更多Javascript文章

对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
Jul 31 23
jQuery代码优化之基本事件
Nov 01 24
js动态创建、删除表格示例代码
Aug 07 19
JS弹出可拖拽可关闭的div层完整实例
Feb 13 29
详解Vue路由开启keep-alive时的注意点
Jun 20 27
node koa2实现上传图片并且同步上传到七牛云存储
Jul 31 18
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
Jan 18 27
手机访问当前页面