Node.js 在NodeJS中将字符串从utf8转换为latin1

Node.js 在NodeJS中将字符串从utf8转换为latin1,node.js,encoding,utf-8,latin1,Node.js,Encoding,Utf 8,Latin1,我使用的是拉丁1编码的数据库,无法将其更改为UTF-8,这意味着我遇到了某些应用程序数据的问题。我正在使用Tesseract来OCR文档(Tesseract以UTF-8编码),并尝试使用iconv lite;但是,它会创建一个缓冲区,并将该缓冲区转换为字符串。但同样,缓冲区到字符串的转换不允许“拉丁1”编码 我读了很多问题/答案;然而,我得到的只是设置客户端编码之类的东西 有什么想法吗?您可以从您拥有的UFT8字符串创建一个缓冲区,然后使用iconv lite将该缓冲区解码为拉丁语1,如下所示

我使用的是拉丁1编码的数据库,无法将其更改为UTF-8,这意味着我遇到了某些应用程序数据的问题。我正在使用Tesseract来OCR文档(Tesseract以UTF-8编码),并尝试使用iconv lite;但是,它会创建一个缓冲区,并将该缓冲区转换为字符串。但同样,缓冲区到字符串的转换不允许“拉丁1”编码

我读了很多问题/答案;然而,我得到的只是设置客户端编码之类的东西


有什么想法吗?

您可以从您拥有的UFT8字符串创建一个缓冲区,然后使用iconv lite将该缓冲区解码为拉丁语1,如下所示

var buff   = new Buffer(tesseract_string, 'utf8');
var DB_str = iconv.decode(buff, 'ISO-8859-1');

我找到了一种将任何编码文本文件转换为UTF8的方法

var
fs=需要('fs'),
charsetDetector=require('node-icu-charset-detector'),
iconvlite=require('iconv-lite');
/*有不同编码的
*关于git repo中的文本文件
*但我们需要一直服务
*标准“utf-8”
*/
函数getFileContentsInUTF8(文件路径){
var content=fs.readFileSync(文件路径);
var original_charset=charsetDetector.detectCharset(内容);
var jsString=iconvlite.decode(内容,原始字符集.toString());
返回jsString;
}
我这里也有一个要点:


也许您可以尝试这样做,其中
内容
应该是您的数据库缓冲区数据(拉丁文编码)

由于Node.js v7.1.0,您可以使用
缓冲区
模块中的
转码
功能:

例如:

const buffer=require('buffer');
const latin1Buffer=buffer.transcode(buffer.from(utf8String),“utf8”,“latin1”);
常量拉丁字符串=拉丁1缓冲字符串(“拉丁1”);

伙计……谢谢。我知道我怎么错过了。