Это может или не может относиться к чужой ситуации, но это то, что сделал это для меня, поэтому я думал, что поделюсь. Я загружаю и загружаю множество текстовых файлов в пользовательскую CMS.
знак '%' в исходном коде привел меня в замешательство.
// send to server
content = content.toString().replace(/%/g,'~~pct~~') // ~~pct~~ <-made up replacement
content = encodeURI(content)
// get back from server / database
content = decodeURI(content)
content = content.toString().replace(/~~pct~~/g,'%') // globally restore '%'