Convert mongo values from one encoding to another

Posted June 1, 2017 9.1k views

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.)

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
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.