Tag: iconv

nodejs UTF-8编码的string有黑色的问号

我有一个csv,我从我的供应商处得到,他们编码了一个UTF-8string,现在包含黑色的问号。 我尝试将其转换回来,但没有运气。 var common = require('./common/index.js'); var fs = require('fs'); var Iconv = require('iconv').Iconv; var encoding = require('encoding'); var iconv = new Iconv('UTF-8', 'ISO-8859-1'); var detectCharacterEncoding = require('detect-character-encoding'); common.fileHandler( 'default.csv', function(dataSet) { var fileBuffer = fs.readFileSync('file.txt'); var charsetMatch = detectCharacterEncoding(fileBuffer); console.log(charsetMatch); console.log(encoding.convert(dataSet[0].description, 'UTF-8', 'ISO-8859-1')) } ) 回报 { encoding: 'UTF-8', confidence: 100 } <Buffer c3 […]

通过npm安装节点iconv失败

我在安装节点iconv时遇到问题。 当我尝试将它安装在一个目录中时会发生什么〜/ please-work / please-work >> npm install iconv npm http GET https://registry.npmjs.org/iconv npm http 304 https://registry.npmjs.org/iconv > iconv@1.2.3 install /Users/j/please-work/node_modules/iconv > node-gyp rebuild CC(target) Release/obj.target/iconv/deps/libiconv/libcharset/lib/localcharset.o CC(target) Release/obj.target/iconv/deps/libiconv/lib/iconv.o In file included from ../deps/libiconv/lib/iconv.c:71: In file included from ../deps/libiconv/lib/converters.h:133: ../deps/libiconv/lib/utf7.h:162:13: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare] if (n < count+base64count+1) […]

Node.js:无法安装iconv模块

我尝试安装iconv模块,但它始终停留在: ^Cyippeeyippee@mini: server$ npm install iconv npm http GET https://registry.npmjs.org/iconv npm http 304 https://registry.npmjs.org/iconv > iconv@1.2.3 install /Users/yippeeyippee/Desktop/nodejs/tinman/server/node_modules/iconv > node-gyp rebuild gyp http GET http://nodejs.org/dist/v0.8.7/node-v0.8.7.tar.gz gyp http 200 http://nodejs.org/dist/v0.8.7/node-v0.8.7.tar.gz 我不知道发生了什么,成功或失败,我该如何解决这个问题? 更新: 等了很长时间之后,我得到了这样的失败信息: xcode-select: Error: No Xcode is selected. Use xcode-select -switch /Applications/Xcode.app to select /Applications/Xcode.app, or see the xcode-select manpage (man xcode-select) for further information. […]

自动检测Node.js中的字符编码

我正在寻找一种方法来准确检测SRT字幕文件的字符编码,对于给定的(用户select的)语言。 我目前正在使用jschardet库进行检测,不幸的是经常错误。 var fs = require("fs"); var jschardet = require("jschardet"); var iconv = require('iconv-lite'); var loadFile = function(path, langCode){ var content = fs.readFileSync(path); var encoding = jschardet.detect(content).encoding.toLowerCase(); return iconv.decode(content, encoding); }; (添加这个只是为了防止我的代码有问题) 有什么比jschardet更准确吗? 也许是一些也接受语言作为论据的东西? 我想这个信息可以提高准确性,但我不熟悉任何接受语言作为参数的图书馆。

处理node.js / express中的windows-1250 URI

我的应用程序依赖于一个web服务来形成它的URI,所以有时它会出现(我相信是)一个windows-1250编码的string( /punk%92d )和expression失败,如下所示: 连接400错误:无法在Layer.match解码param'punk%92d' 所以我/punk'd每个链接转换成utf-8(例如: /punk'd ,所以不会引用冒犯的内容),然后再回到windows-1250来处理外部的web服务。 我使用iconv和iconv-lite方法尝试了这种方法,但是结果总是出现问题: /punk d /punk d等 这是一个使用iconv的示例: var str = 'punk'd'; var buf = new Buffer(str.toString('binary'), 'binary'); console.log(new Iconv('UTF-8', 'Windows-1250').convert(buf).toString('binary')); …和iconv-lite: console.log(iconv.decode(new Buffer(str), 'win1250')); 我知道使用binary是一个坏的方法,但我希望有什么, 什么都可以做的工作。 我明显地尝试了这个代码的多种变体,因为我对Buffers了解是有限的,更简单的事情是行不通的,比如: console.log(new Buffer('punk'd').toString('utf-8')); 所以我感兴趣的方式是处理expression式中的URI中的编码string,或者在node.js中转换它们的有效方法。

如何在nodejs javascript中使用nodejs-iconv模块(或其他解决scheme)将字符编码从CP932转换为UTF-8,

我试图将string从CP932(aka Windows-31J)转换为javascript中的utf8。 基本上,我正在爬取一个忽略请求头中的utf-8请求的站点,并返回cp932编码的文本(即使html元标记表示页面是shift_jis)。 无论如何,我有整个页面存储在一个名为“HTML”的stringvariables。 从那里我试图将其转换为UTF8使用此代码: var Iconv = require('iconv').Iconv; var conv = new Iconv('CP932', 'UTF-8//TRANSLIT//IGNORE'); var myBuffer = new Buffer(html.length * 3); myBuffer.write(html, 0, 'utf8') var utf8html = (conv.convert(myBuffer)).toString('utf8'); 结果不是它应该是什么。 例如,string“感觉·情报”(感兴趣的信息)出来了:“这是一个真实的故事,ソスRソス〜(ソスソスソスEソスソスソスソス)“ 如果我删除// TRANSLIT // IGNORE(这应该导致它返回相似字符的缺less字符,并失败,省略非转码字符),我得到这个错误:错误:EILSEQ,非法字符序列。 我愿意使用任何可以在nodejs中实现的解决scheme,但是我的search结果并没有在nodejs-iconv模块之外获得许多选项。 nodejs-iconv ref: https : //github.com/bnoordhuis/node-iconv 谢谢! 编辑24.06.2011:我已经在Java中实现了一个解决scheme。 不过,如果有人可以解决这个问题,我仍然对这个问题的JavaScript解决scheme感兴趣。

在OpenShift上找不到模块'../build/Debug/iconv.node'

我试图在OpenShift上部署一个叫做Jingo的Node.js Wiki: Error: Cannot find module '../build/Debug/iconv.node' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/var/lib/openshift/550a72cf5973cac5c10000ca/app-root/runtime/repo/node_modules/icon at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) DEBUG: Program node jingo -c config.yaml exited with code 8 我试过在命令行上运行node-gyp configure和node-gyp build,但是我没有足够的权限。 我也试过在package.json文件中包含node-gyp configure和node-gyp build作为安装脚本,但是得到以下错误: remote: > […]