20 Nov 2012 1:15 AM #1
Unanswered: Ext.encode and UTF-8 characters
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:
var string = "Bäuerle"; console.log(string); Ext.USE_NATIVE_JSON = true; string = Ext.encode(string); Ext.USE_NATIVE_JSON = false; console.log(string);
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
char any-Unicode-character- except-"-or-\-or- control-character\" \\ \/ \b \f \n \r \t \u four-hex-digits