node utf8中国汉字乱码怎么办

lxf2023-04-01 16:44:01

node utf8中国汉字错码的解决方案:1、根据“typeof”查询“SarchName”的种类;2、应用“Name=iconv.decode(name,'gbk')”方法变换编号为utf8就可以。

node utf8中国汉字乱码怎么办

实例教程作业环境:Windows10系统软件、node v14.16.0版、DELL G3计算机

node utf8中国汉字乱码怎么办?

  • node.js完成编号转GBK转UTF8,中文乱码计划方案

正在做这种以前遇到了一个要求,则是用node去做一个名字的模糊搜索。其实这也是一个简单再也不会简单的事,可却在这件事情上卡住二天。

由于业务需要,给作用做一个模糊搜索。

最先,我也得搭建了一个node的http业务,然后我就配备了mysql。设立了ORM实体模型后,即将开始撰写sql语句时遇到了一个奇怪的事,因为我node是utf8的编号。可是我们公司的数据库系统使用的是GBK的编号,因此导致我还在开展数据统计过程中出现了不正确,查看不成功,原因是因为编码问题造成。

这问题很简单,转换格式呗!!!

逐渐百度搜索node的转换格式方式在这儿就遇到了iconv-jschardet这一软件,因此去npm了一下。广泛使用

const iconv = require('iconv-jschardet');
SarchName =  iconv.encode(SarchName, 'gbk');

把前面送上来的标识符转为GBK的编号,特别开心。

到最后还是出错了。因为这不正确,我找了一下午。也不知转通过了并没有,因此试一下许多种方法或是难以解决这一编码问题,因此想起了以前写PHP时查看时用SQL转为二进制开展模糊匹配。

然后我typeof了一下SarchName竟然是Obj我便很疑惑了应当是String因此导出打印出了一下,一看是一个Buffer。这一下懂了原先并没有转为String哪好,我会用Buffer.toString()方式结论还不行,随后翻一下文本文档。发现没GBK的编号,这一下就头大了。

node utf8中国汉字乱码怎么办

然后我就试了一下ascii发觉还不行,然后我试了一下binary结论ok了。

node utf8中国汉字乱码怎么办

**模糊搜索实行进行没什么问题,在返回数据信息的时候才发现也还是GBK编号。那简单啊!!!!那么就转为utf8

Name=iconv.decode(name,'gbk')

随后回到发觉没什么问题,那ok实现了。

未过一会你就测到bug说人名字没显示彻底!!!!

结论有些人名字出现这一标记�。。。。。

百度搜索发觉说编解码不完整,暂时没有一切解决方案。。。

最终所以只好使用了indexOf('�')方式去查找字符串数组里出现不认识的字

之后纪录其情况再换PHP开展转换格式。

总而言之一个字,坑!**

填补:node.js的gbk转utf8 遇上一些不认识的字依然会转不出来了显示错误,提议有gbk的库不要让node去干汉语转换格式之类的事情,换其他语言表达吧。

强烈推荐学习培训:《node.js视频教程》

以上就是关于node utf8中国汉字乱码怎么办的具体内容,大量欢迎关注AdminJS其他类似文章!