diff --git a/include/rfb.js b/include/rfb.js index 9dad36aa..173f6997 100644 --- a/include/rfb.js +++ b/include/rfb.js @@ -923,7 +923,7 @@ init_msg = function() { /* Connection name/title */ name_length = ws.rQshift32(); - fb_name = decodeURIComponent(escape(ws.rQshiftStr(name_length))); + fb_name = Util.decodeUTF8(ws.rQshiftStr(name_length)); conf.onDesktopName(that, fb_name); if (conf.true_color && fb_name === "Intel(r) AMT KVM") diff --git a/include/util.js b/include/util.js index 8893591c..1c02676c 100644 --- a/include/util.js +++ b/include/util.js @@ -202,6 +202,14 @@ Util.conf_defaults = function(cfg, api, defaults, arr) { } }; +/* + * Decode from UTF-8 + */ +Util.decodeUTF8 = function(utf8string) { + return decodeURIComponent(escape(utf8string)); +} + + /* * Cross-browser routines