真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

nodeutf8漢字亂碼如何解決

本篇內(nèi)容主要講解“node utf8漢字亂碼如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“node utf8漢字亂碼如何解決”吧!

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)加格達奇免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

node utf8漢字亂碼的解決辦法:1、通過“typeof”查看“SarchName”的類型;2、使用“Name=iconv.decode(name,'gbk')”方式轉(zhuǎn)換編碼為utf8即可。

  • node.js實現(xiàn)編碼轉(zhuǎn)GBK轉(zhuǎn)UTF8,中文亂碼方案

在做這些之前遇見了一個需求,則是用node去做一個姓名的模糊查詢。其實這是一個簡單再也不能簡單的事情,可是卻在這個問題上卡了兩天。

因為業(yè)務(wù)需要,給新功能做一個模糊查詢。

首先,我得搭建了一個node的http服務(wù),然后我配置了MySQL。建立了ORM模型后,準備開始編寫sql語句的時候遇見了一個奇怪的事情,由于我的node是utf8的編碼。但是我們公司的數(shù)據(jù)庫采用的是GBK的編碼,因此導致我在進行數(shù)據(jù)查詢的時候出現(xiàn)了錯誤,查詢失敗,原因就是因為編碼問題導致。

這問題也很簡單,轉(zhuǎn)碼唄?。。?/p>

開始百度node的轉(zhuǎn)碼方法在這里就遇見了iconv-jschardet這個插件,于是去npm了一下。開始使用

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

把前端送上來的字符轉(zhuǎn)成GBK的編碼,很開心。

結(jié)果還是報錯了。因為這個錯誤,我找了一下午。也不知道轉(zhuǎn)成功了沒有,于是試了無數(shù)種辦法還是無法解決這個編碼問題,于是想到了之前在寫PHP的時候查詢的時候用SQL轉(zhuǎn)成二進制進行模糊匹配。

于是我typeof了一下SarchName居然是Obj我就很納悶了應(yīng)該是String于是輸出打印了一下,一看是個Buffer。這下明白了原來沒有直接轉(zhuǎn)成String那好,我就用Buffer.toString()方法結(jié)果還是不行,然后翻了一下文檔。發(fā)現(xiàn)沒有GBK的編碼,這下就頭大了。

node utf8漢字亂碼如何解決

然后我試了試ascii發(fā)現(xiàn)還是不行,于是我試了一下binary結(jié)果ok了。

node utf8漢字亂碼如何解決

**模糊查詢執(zhí)行完成沒問題了,在返回的數(shù)據(jù)的時候發(fā)現(xiàn)都還是GBK編碼。那簡單?。。。?!那就轉(zhuǎn)成utf8

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

然后返回發(fā)現(xiàn)沒問題,那ok完成了。

沒過一會別人就測出bug說人的名字沒有顯示完全?。。?!

結(jié)果有的人的名字出現(xiàn)了這個符號?。。。。。

百度發(fā)現(xiàn)說解碼不全,暫無任何解決方法。。。

最后沒辦法只能用了indexOf('?')方法去檢索字符串中出現(xiàn)生僻字

然后記錄其狀態(tài)再用PHP進行轉(zhuǎn)碼。

總之一個字,坑!**

補充:node.js的gbk轉(zhuǎn)utf8 遇見一些生僻字還是會轉(zhuǎn)不出來出現(xiàn)亂碼,建議有g(shù)bk的庫別讓node去做中文轉(zhuǎn)碼之類的事情,換別的語言吧。

到此,相信大家對“node utf8漢字亂碼如何解決”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!


當前標題:nodeutf8漢字亂碼如何解決
本文路徑:http://weahome.cn/article/pehepi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部