Threaded View
-
3 Jul 2012 11:52 AM #1
Unicode chars incorrectly shown in native apps with Ext.device.Notification.show()
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
- Apple iOS 5.1.1
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 dialog is show with all the UTF8 characters properly displayed
- The dialog is shown where each UTF8 character beyond U+007F is replaced with a pair of completely different UTF8 characters
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.
- 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.
Looks like we can't reproduce the issue or there's a problem in the test case provided.


Reply With Quote