-
20 Nov 2012 1:15 AM #1
Unanswered: Ext.encode and UTF-8 characters
Unanswered: Ext.encode and UTF-8 characters
Hi there,
as already mentioned in the comments of the function Ext.encode (http://docs.sencha.com/ext-js/4-1/#!...-method-encode) there is an unexpected behavior of this function (at least for me).
When i have some sepcial characters like "german umlauts" "Ä".
Ext.encode does escape the characters as seen in the following example:
results in:Code:Ext.encode("Bäuerle")
Of course i tried to enable Ext.USE_NATIVE_JSON to use the native JSON encode methode from the browser if possible but this does result in the same outputs."B\u00e4uerle"
gives me this output:Code:var string = "Bäuerle"; console.log(string); Ext.USE_NATIVE_JSON = true; string = Ext.encode(string); Ext.USE_NATIVE_JSON = false; console.log(string);
I am working with Chrome v24 and Firefox v16.Bäuerle
"B\u00e4uerle"
May someone give me a hint how to solve this?
Thanks in advance!
-
20 Nov 2012 11:35 AM #2
i don't know what you are expecting, but this is the itended behavior
when using UTF-8 you have to keep in mind, that the first 128 character (same as ASCII) are made up of 1 Byte. when you the first bit is set to 1 (values >=128) a second byte is used to represent the character
since Umlaute are not specified in ASCII they typically consist of 2 Bytes and are converted to their hex representation for data interchange
see JSON-specification at json.org
HTML Code:char any-Unicode-character- except-"-or-\-or- control-character\" \\ \/ \b \f \n \r \t \u four-hex-digits


Reply With Quote