diff --git a/common/content/bookmarks.js b/common/content/bookmarks.js index ab0ab38c..55287ce6 100644 --- a/common/content/bookmarks.js +++ b/common/content/bookmarks.js @@ -345,7 +345,7 @@ var Bookmarks = Module("bookmarks", { catch (e) {} if (charset) - var encodedParam = escape(window.convertFromUnicode(charset, param)); + var encodedParam = escape(window.convertFromUnicode(charset, param)).replace(/\+/g, encodeURIComponent); else encodedParam = bookmarkcache.keywords[keyword.toLowerCase()].encodeURIComponent(param); diff --git a/common/modules/bookmarkcache.jsm b/common/modules/bookmarkcache.jsm index 8b577e50..7896290f 100644 --- a/common/modules/bookmarkcache.jsm +++ b/common/modules/bookmarkcache.jsm @@ -42,7 +42,7 @@ update(Bookmark.prototype, { if (!this.charset || this.charset === "UTF-8") return encodeURIComponent(str); let conv = services.CharsetConv(this.charset); - return escape(conv.ConvertFromUnicode(str) + conv.Finish()); + return escape(conv.ConvertFromUnicode(str) + conv.Finish()).replace(/\+/g, encodeURIComponent); }, get folder() {