从my DB我得到以下字符串:

Johan Öbert

它应该说:

Johan Öbert

我try 将其转换为utf-8,如下所示:

nameString.toString("utf8");

但还是一样的问题.

有什么 idea 吗?

推荐答案

使用npm的utf8模块对字符串进行编码/解码.

安装:

npm install utf8

在浏览器中:

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

在 node 中.js:

const utf8 = require('utf8');

应用程序编程接口:

编码:

utf8.encode(string)

将任何给定的JavaScript字符串(string)编码为UTF-8,并返回该字符串的UTF-8编码版本.如果输入字符串包含非标量值,即一个单独的代理项,则会引发错误.(如果您还需要能够对非标量值进行编码,请使用WTF-8.)

// 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'

解码:

utf8.decode(byteString)

将任何给定的UTF-8编码字符串(byteString)解码为UTF-8,并返回该字符串的UTF-8解码版本.当检测到格式错误的UTF-8时,它会抛出一个错误.(如果您还需要能够解码编码的非标量值,请使用WTF-8.)

utf8.decode('\xC2\xA9');
// → '\xA9'

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

Resources

Node.js相关问答推荐

利用Gemini:通过Vertex AI还是通过Google/generative-ai?

如何使用MongoDB在Node.js 中向数组中添加项?

Jest由于UUID而无法解析测试,即使在Jest中启用ESModule支持后也是如此

编辑Mongoose中的对象嵌套数组

如果非SQL函数在事务内部运行失败,PG-Promise事务会回滚吗?

Mongoose-如何从父文档填充到子文档

是否可以在MongoDB中比较和匹配引用文档中的字段

为什么我的 Node.js 应用程序在登录时无法正确验证密码(使用 Passport-local 和 bcryptjs)?

为什么这个 module.export 函数如果我直接传递它就不起作用,但如果我将它包装在一个匿名函数中就可以工作

Express.js - 监听请求中止

如何使用 Jest 模拟异步函数的延迟时间

在新创建的 Angular 工作区上运行 ng lint 时出错

Passport 登录和持久会话

在 express 中添加故意延迟

使用 Webpack 和 font-face 加载字体

Node.js 应用程序有周期性的缓慢和/或超时(不接受传入的请求)

chart.js 无法创建图表:无法从给定项目获取上下文

npm install 给出警告,npm audit fix 不起作用

如何创建安全(TLS/SSL)Websocket 服务器

node/nodemon 中是否有对 typescript 的源映射支持?