diff --git a/lib/utils.js b/lib/utils.js index 4f21e7ef1e3..70f4579cee2 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -227,14 +227,14 @@ exports.setCharset = function setCharset(type, charset) { return type; } - // parse type - var parsed = contentType.parse(type); + const [baseType, ...paramParts] = type.split(';'); + const params = paramParts + .map(p => p.trim()) + .filter(p => !/^charset\s*=/i.test(p)); // remove existing charset if any - // set charset - parsed.parameters.charset = charset; + params.push(`charset=${charset}`); - // format type - return contentType.format(parsed); + return `${baseType.trim()}; ${params.join('; ')}`; }; /**