Wrong Charset in Changebar Window - IDE 9

I think there is no or wrong Charset in the Changebar Window!

Thanks @Codebox, I’ve opened a bug for this here: https://github.com/Komodo/KomodoEdit/issues/69

Thanks @nathanr!

Folder “./trackchanges@activestate.com/trackchanges.jar” -> File “dialog.js
I think the problem is in this File.

@Codebox I’m having trouble reproducing the actual issue, could you provide a file with which I can repro?

Thanks

Hi @nathanr, you can download the testfile here: http://www.codebox.at/komodo_ide_9/charset_test.zip

I’m not able to reproduce the issue with that file. What charset is Komodo using with that file? It gives me UTF-8.

The file is in UTF-8 and komodo run with this settings:

On kopy.io is is the right Charset. (http://kopy.io/8xaE3)

Only in the komodo overlay window it is the wrong charset.

I test it on WIN7 x64 and WIN8.1 x64

@careyh I cannot reproduce this, can you try on Windows?

Yep, easily reproduce on Windows.

  • Carey

Can you try this @careyh ?

Index: /home/nathan/Projects/komodo-dev/src/modules/trackchanges/content/dialog.js
index 10f9d0f..729c83e 100644
--- a/content/dialog.js
+++ b/content/dialog.js
@@ -28,7 +28,7 @@ exports.showChanges = function(tracker, lineNo) {
     if (!oldLines.length && !newLines.length) {
         return;
     }
-
+    
     // Write htmlLines to a temp file, get the URL, and then create a panel
     // with that iframe/src
     var htmlFile = fileSvc.makeTempFile(".html", 'wb');
@@ -51,9 +51,13 @@ exports.showChanges = function(tracker, lineNo) {
       // on Max OSX, use px instead of pt due to odd sizing issues
       fontUnit = "px";
     }
+    
+    var utf8Converter = Cc["@mozilla.org/intl/utf8converterservice;1"]
+                        .getService(Ci.nsIUTF8ConverterService);
 
     var escapeLines = function(textLines, prefix) {
         return textLines.map(function(s) {
+            s = utf8Converter.convertStringToUTF8(s, "UTF-8", true, true);
             return prefix + s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
         })
     }

Doesn’t seem to have any effect @nathanr.