write utf8 stringdecoder read react parse nodejs node node.js utf-8

node.js - utf8 - read buffer javascript



Nodejs convierte la cadena en UTF-8 (5)

De mi DB estoy obteniendo la siguiente cadena:

Johan Öbert

Lo que debería decir es:

Johan Öbert

He intentado convertirlo en utf-8 así:

nameString.toString("utf8");

Pero sigue siendo el mismo problema.

¿Algunas ideas?


Cuando quieres cambiar la codificación, siempre vas de una a otra. Así que puede ir de Mac Roman a UTF-8 o de ASCII a UTF-8 .

Es tan importante conocer la codificación de salida deseada como la codificación fuente actual. Por ejemplo, si tienes Mac Roman y lo descodificas de UTF-16 a UTF-8 , simplemente lo harás confuso.

Si desea saber más sobre la codificación de este artículo, entre en muchos detalles:

Lo que todo programador absolutamente, positivamente necesita saber sobre codificaciones y conjuntos de caracteres para trabajar con texto

La encoding npm pacakge que utiliza node-iconv o iconv-lite le permitirá especificar fácilmente qué fuente y codificación de salida desea:

var resultBuffer = encoding.convert(nameString, ''ASCII'', ''UTF-8'');


Tuve el mismo problema con json, solo usa esto:

JSON.parse(json or object)


Tuve el mismo problema, cuando fs.readFile() un archivo de texto a través de fs.readFile() , intenté establecer la codificación en UTF8, se mantuvo igual. Mi solución ahora es esta:

myString = JSON.parse( JSON.stringify( myString ) )

después de esto, un Ö es realmente interpretado como un Ö.


Utilice el módulo utf8 de npm para codificar / decodificar la cadena.

Instalación:

npm install utf8

En un navegador:

<script src="utf8.js"></script>

En Node.js:

const utf8 = require(''utf8'');

API:

Codificar:

utf8.encode(string)

Codifica cualquier cadena (cadena) de JavaScript dada como UTF-8 y devuelve la versión codificada en UTF-8 de la cadena. Emite un error si la cadena de entrada contiene un valor no escalar, es decir, un sustituto solitario. (Si también necesita poder codificar valores no escalares, use WTF-8 en su lugar).

// U+00A9 COPYRIGHT SIGN; see http://codepoints.net/U+00A9 utf8.encode(''/xA9''); // → ''/xC2/xA9'' // U+10001 LINEAR B SYLLABLE B038 E; see http://codepoints.net/U+10001 utf8.encode(''/uD800/uDC01''); // → ''/xF0/x90/x80/x81''

Descodificar:

utf8.decode(byteString)

Decodifica cualquier cadena codificada en UTF-8 (byteString) como UTF-8 y devuelve la versión decodificada en UTF-8 de la cadena. Lanza un error cuando se detecta un UTF-8 con formato incorrecto. (Si necesita poder decodificar también valores no escalares codificados, utilice WTF-8 en su lugar).

utf8.decode(''/xC2/xA9''); // → ''/xA9'' utf8.decode(''/xF0/x90/x80/x81''); // → ''/uD800/uDC01'' // → U+10001 LINEAR B SYLLABLE B038 E

utf8


var utf8 = require("./utf8") console.log(utf8.encode("NEAR DAGDI CHAWL")) //utf8.js is working properly