diff --git a/app/index.html b/app/index.html
index 9fe1ae93..cddd5d8f 100644
--- a/app/index.html
+++ b/app/index.html
@@ -153,7 +153,7 @@
diff --git a/app/js/app.js b/app/js/app.js
index 4070c841..145ec05b 100755
--- a/app/js/app.js
+++ b/app/js/app.js
@@ -21,7 +21,7 @@ var ExplorerApp = Backbone.View.extend({
this.router.route(/explorer/, 'explorer', this.viewExplorer);
Backbone.history.start();
- var state = recline.Util.parseQueryString(window.location.search);
+ var state = recline.Util.parseQueryString(decodeURIComponent(window.location.search));
if (state) {
_.each(state, function(value, key) {
try {
diff --git a/src/util.js b/src/util.js
index 55e9390a..dbba7b0e 100644
--- a/src/util.js
+++ b/src/util.js
@@ -56,7 +56,7 @@ my.composeQueryString = function(queryParams) {
if (typeof(value) === 'object') {
value = JSON.stringify(value);
}
- items.push(key + '=' + value);
+ items.push(key + '=' + encodeURIComponent(value));
});
queryString += items.join('&');
return queryString;