Hi,
To be able to query a database table's content we are using mdlDB_openCursorWithID() and mdlDB_fetchRowByID() functions along with MS_sqlda structure. But it returns (char *) data type as query result which is limited to 255 ASCII characters. But for multi-byte languages like Japanese, Korean and Arabic, we need the query result as MSWChar data type to support Unicode characters. Is there any solution to this?
Kind regards,
Sedat AlisAEC Technology Inc.
When I work with Bentley V8i products by using Chinese, I first set my Windows locale to Chinese as below.
Second, I change my MSV8i mslocae.cfg file as below:
With above two changes, I can use below character conversion functions to get what I want.
HTH,
YongAn
Yongan.Fu said:I change my MSV8i mslocale.cfg file
Good tip! Where is the list of those MS_RTCONFIG values? In a default (English) installation, there is no MS_RTCONFIG definition.
MS_RTCONFIG
Regards, Jon Summers LA Solutions
Jon Summers said:Where is the list of those MS_RTCONFIG values?
They are in the file mslocale.cfg file. Below is the file default content.
# Set run time configuration for processing Chinese, Japanese, and Korean # multi-byte characters. When this is set a localized operating system # is required to provide the proper screen font for dialog boxes and the # front end processor for multi-byte text input. # # MS_RTCONFIG = Japanese # MS_RTCONFIG = Korean # MS_RTCONFIG = SimpChinese # MS_RTCONFIG = TradChinese # MS_RTCONFIG = HongKongChinese # MS_RTCONFIG = Vietnamese # # In addition to the above variables, also set the following variable # for Vietnamese language version. # # MS_TEXTOUT_UNICODE=1 #
In China, I uncomment the line MS_RTCONFIG = SimpChinese by removing the first character # in the line.
Hi Yongan,
Thank you for simple but valuable information.
mslocale.cfg file which is attached is located on below folder;
C:\Program Files (x86)\Bentley\AECOsimBuildingDesigner V8i Ss5\AECOsimBuildingDesigner\config\system
mslocale.cfg
MS_RTCONFIG has following options. But I can't see Arabic or Turkish language options there. By the way, you may want to write in several languages on the same design file.
# Set run time configuration for processing Chinese, Japanese, and Korean# multi-byte characters. When this is set a localized operating system# is required to provide the proper screen font for dialog boxes and the# front end processor for multi-byte text input.## MS_RTCONFIG = Japanese# MS_RTCONFIG = Korean# MS_RTCONFIG = SimpChinese# MS_RTCONFIG = TradChinese# MS_RTCONFIG = HongKongChinese# MS_RTCONFIG = Vietnamese
There is also a wiki below but it does not explain all options of MS_RTCONFIG variable;
Using foreign characters in written text on English MicroStation V8i on English OS
In my opinion, when using Unicode, language is not important so there must be an option like MS_RTCONFIG = Unicode. Also this must be default too because there are lots of languages other than English.
I think setting MS_RTCONFIG = SimpChinese and selecting desired locale (Arabic, Turkish or Russian) covers all other languages. :)