diff --git a/chrome/content/zotero/bindings/itembox.xml b/chrome/content/zotero/bindings/itembox.xml index 56a3a06df4..081e04e5e8 100644 --- a/chrome/content/zotero/bindings/itembox.xml +++ b/chrome/content/zotero/bindings/itembox.xml @@ -428,7 +428,11 @@ // Pull out DOI, in case there's a prefix var doi = Zotero.Utilities.cleanDOI(val); if (doi) { - doi = "https://doi.org/" + encodeURIComponent(doi); + doi = "https://doi.org/" + // Encode some characters. '/' doesn't need to be encoded + + doi.replace(/#/g, '%23') + .replace(/\?/g, '%3f') + .replace(/%/g, '%25'); label.classList.add("pointer"); label.setAttribute("onclick", "ZoteroPane_Local.loadURI('" + doi + "', event)"); label.setAttribute("tooltiptext", Zotero.getString('locate.online.tooltip'));