如何将mongodb字符集设置为utf8?

23

我是mongodb的新手。我需要在我的数据库中存储一些UTF8编码的数据。当我将它们导出或在控制台中查看时,它们显示不正确。我能否将我的数据库设置为UTF8字符集以解决这个问题?如果可以,我该如何做?


1
默认字符集为utf8,很可能您的PuTTY控制台(或您正在使用的任何其他控制台)无法正确读取utf8。 - Sammaye
你如何将数据上传到MongoDB? - joscas
1
https://dev59.com/fFTTa4cB1Zd3GeqPogul#4905462 - WiredPrairie
如果您正在使用Putty(或实际上我认为这适用于大多数终端),请尝试单击左上角的图标,然后转到“更改设置”,然后在Putty中(如果是这种情况,则其他情况将不同) 转到“翻译”,然后在第一个下拉菜单中选择UTF8而不是ISO以进行远程编码。看看是否有所帮助。 - Sammaye
2个回答

14

BSON 只能使用 UTF-8 编码。如果你在导出和控制台方面遇到问题,那么很可能是在上传到 mongodb 之前没有将数据转换为 UTF-8


我该如何在上传到mongodb之前将它转换为UTF-8编码? - hcarrasko
2
@Hector 请查看Python的howto文章。在字符串上,您可以使用encode()方法:u.encode('utf-8')。 - binarysubstrate

0

mongodb 默认情况下使用 utf-8 编码(请参见 mongo 社区论坛中的 这个帖子)。 也许您的 mongosh 使用了不同的编码表,您可以在其属性中进行检查。 请注意,即使在 mongosh 中数据没有显示为 utf-8,也并不意味着它们以错误的编码存储在数据库(mongodb)中。要检查这一点,请将字符从 mongosh 复制粘贴到文本文件或其他地方,看它们是否被渲染为 utf-8。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接