Unicode chars incorrectly shown in native apps with Ext.device.Notification.show()
Ext version tested:- Sencha Touch 2.0.1.1 (commercial)
- Sencha SDK Tools 2.0.0-beta3-windows
Mobile platform tested against: Description::
When using UTF8-encoded JS strings for title, message, or buttons parameters of Ext.device.Notification.show(): Characters with Unicode codes beyond U+007F are not displayed properly in the dialog window appearing on the device.
Steps to reproduce the problem:- Create a Sencha Touch 2 application which uses Ext.device.Notification.show() to display a native iOS dialog with some text in it
- Pass UTF8-encoded JS strings to title, message, and buttons parameters of Ext.device.Notification.show()
- Ensure that the strings contain Unicode characters with codes beyond U+007F (e.g. use some Cyrillic characters in the U+0400 - U+04FF range)
- Build the native app for iOS with Sencha SDK Tools and install it on iPhone or iPad
- Run the application and trigger calling the native dialog on the device screen
The result that was expected:- The dialog is show with all the UTF8 characters properly displayed
The result that occurs instead:- The dialog is shown where each UTF8 character beyond U+007F is replaced with a pair of completely different UTF8 characters
Additional comments:
It seems like NSString is not properly created (encoded) from the original JavaScript string in stbuild, in the current implementation of Notification.show().
Debugging already done:- Please, see my further analysis and suggestions on the likely root-cause in my next post below, inside this thread.
Possible fix:- not known for this reported case with native iOS dialogs called from Sencha Touch 2 apps and with the usage of stbuild (using non-native dialogs and using PhoneGap is not suitable for my purposes at the moment)
Any comments or suggestions on this issue from the Sencha team will be appreciated.