Convert mongo values from one encoding to another

June 1, 2017 3.5k views
MongoDB Ubuntu

I put 250_000 records to mongodb with java driving force, however forgot to set encoding explicitly, so after linux on my windows gadget system encoding modified to cp1251 and i’ve many records with values like Внедорожник 5 РґРІ

i’ve a solution - just to go throw all gadgets, find and modify all string fields:

new Document(“canonical”, canonical),
new Document(“$set”,
new Document(“regionName”,
new String(doc.getString(“regionName”).getBytes(“cp1251”), “UTF-8”))));

Is there a way to do that without external program? (with some mongo js functions, utilities etc.)

1 Answer

Hi @soujanyanaguri23
I would give you the same answer as someone gave you here:
No, it might be possible, but javascript doesn’t really understand codepages like most other advanced languages, so you’ll need a lot of frameworks for that to work - and you’ll have to use the eval function to run it directly in Mongo, which I wouldn’t recommend.

Have another answer? Share your knowledge.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!