IEA Software, Inc.

IEA Software Knowledge Base - ID:56752

IEA Knowledge base

Emerald (KB ID: 56752)

May 23 2007

When entering text in non-english languages into Emerald the data entered is being replaced with question marks. (?????) What is causing this and how can I fix it?

May 23 2007

The following translation table provides the Microsoft SQL server collation types used for each country in the regional settings.

  • Afrikaans - Latin1_General_CI_AS
  • Albanian - Albanian_CI_AS
  • Arabic (Algeria) - Arabic_CI_AS
  • Arabic (Bahrain) - Arabic_CI_AS
  • Arabic (Egypt) - Arabic_CI_AS
  • Arabic (Iraq) - Arabic_CI_AS
  • Arabic (Jordan) - Arabic_CI_AS
  • Arabic (Kuwait) - Arabic_CI_AS
  • Arabic (Lebanon) - Arabic_CI_AS
  • Arabic (Libya) - Arabic_CI_AS
  • Arabic (Morocco) - Arabic_CI_AS
  • Arabic (Oman) - Arabic_CI_AS
  • Arabic (Qatar) - Arabic_CI_AS
  • Arabic (Saudi Arabia) - Arabic_CI_AS
  • Arabic (Syria) - Arabic_CI_AS
  • Arabic (Tunisia) - Arabic_CI_AS
  • Arabic (U.A.E.) - Arabic_CI_AS
  • Arabic (Yemen) - Arabic_CI_AS
  • Armenian (Republic of Armenia) - Latin1_General_CI_AS
  • Azeri-Cyrillic (Azerbaijan) - Azeri_Cyrillic_90_CI_AS
  • Azeri-Latin (Azerbaijan) - Azeri_Latin_90_CI_AS
  • Basque - Latin1_General_CI_AS
  • Belarusian - Cyrillic_General_CI_AS
  • Bulgarian - Cyrillic_General_CI_AS
  • Catalan - Latin1_General_CI_AS
  • Chinese (Hong Kong) - Chinese_Hong_Kong_Stroke_90_CI_AS
  • Chinese (Hong Kong S.A.R.) - Chinese_Hong_Kong_Stroke_90_CI_AS
  • Chinese (Macau S.A.R.) - Chinese_PRC_90_CI_AS
  • Chinese (PRC) - Chinese_PRC_CI_AS
  • Chinese (PRC) - Chinese_PRC_Stroke_CI_AS
  • Chinese (Singapore) - Chinese_PRC_90_CI_AS
  • Chinese (Taiwan) - Chinese_Taiwan_Stroke_CI_AS
  • Chinese (Taiwan) - Chinese_Taiwan_Bopomofo_CI_AS
  • Croatian - Croatian_CI_AS
  • Czech - Czech_CI_AS
  • Danish - Danish_Norwegian_CI_AS
  • Divehi1 - Divehi_90
  • Dutch (Belgium) - Latin1_General_CI_AS
  • Dutch (Netherlands) - Latin1_General_CI_AS
  • English (Australia) - Latin1_General_CI_AS
  • English (Belize) - Latin1_General_CI_AS
  • English (Canada) - Latin1_General_CI_AS
  • English (Caribbean) - Latin1_General_CI_AS
  • English (Hong Kong S.A.R.) - Latin1_General_CI_AS
  • English (India) - Latin1_General_CI_AS
  • English (Indonesia) - Latin1_General_CI_AS
  • English (Ireland) - Latin1_General_CI_AS
  • English (Jamaica) - Latin1_General_CI_AS
  • English (Malaysia) - Latin1_General_CI_AS
  • English (New Zealand) - Latin1_General_CI_AS
  • English (Philippines) - Latin1_General_CI_AS
  • English (Singapore) - Latin1_General_CI_AS
  • English (South Africa) - Latin1_General_CI_AS
  • English (Trinidad) - Latin1_General_CI_AS
  • English (United Kingdom) - Latin1_General_CI_AS
  • English (United States) - SQL_Latin1_General_CP1_CI_AS
  • English (Zimbabwe) - Latin1_General_CI_AS
  • Estonian - Estonian_CI_AS
  • Faeroese - Latin1_General_CI_AS
  • Farsi - Arabic_CI_AS
  • Finnish - Finnish_Swedish_CI_AS
  • French (Belgium) - French_CI_AS
  • French (Canada) - French_CI_AS
  • French (France) - French_CI_AS
  • French (Luxembourg) - French_CI_AS
  • French (Monaco) - French_CI_AS
  • French (Switzerland) - French_CI_AS
  • Galician (Spain) - Latin1_General_CI_AS
  • Galacian (English - U.S.A.) - Latin1_General_CI_AS
  • Georgian - Latin1_General_CI_AS
  • German (Austria) - Latin1_General_CI_AS
  • German (Germany) - Latin1_General_CI_AS
  • German (Liechtenstein) - Latin1_General_CI_AS
  • German (Luxembourg) - Latin1_General_CI_AS
  • German (Phone Book Sort) - German_PhoneBook
  • German (Switzerland) - Latin1_General_CI_AS
  • Greek - Greek_CI_AS
  • Gujarati (India) - Indic_General_90
  • Hebrew - Hebrew_CI_AS
  • Hindi - Indic_General_90
  • Hungarian - Hungarian_CI_AS
  • Hungarian (Technical) - Hungarian_Technical
  • Icelandic - Icelandic_CI_AS
  • Indonesian - Latin1_General_CI_AS
  • Italian (Italy) - Latin1_General_CI_AS
  • Italian (Switzerland) - Latin1_General_CI_AS
  • Japanese - Japanese_CI_AS
  • Japanese (Unicode) - Japanese_Unicode
  • Kannada (India) - Indic_General_90
  • Kazakh (Kazakstan) - Kazakh_90_CI_AS
  • Konkani (India) - Indic_General_90
  • Korean (Extended Wansung) - Korean_Wansung_CI_AS
  • Kyrgyz-Cyrillic (Republic of Kyrgyztan) - Cyrillic_General_CI_AS
  • Latvian - Latvian_CI_AS
  • Lithuanian - Lithuanian_CI_AS
  • Macedonian (FYROM) - Macedonian _FYROM_90_CI_AS
  • Malay (Brunei Darussalam) - Latin1_General_CI_AS
  • Malay (Malaysia) - Latin1_General_CI_AS
  • Marathi (India)3 - Indic_General_90
  • Mongolian-Cyrillic (Mongolia) - Cyrillic_General_CI_AS
  • Norwegian (Bokmal) - Danish_Norwegian_CI_AS
  • Norwegian (Nynorsk) - Danish_Norwegian_CI_AS
  • Polish - Polish_CI_AS
  • Portuguese (Brazil) - Latin1_General_CI_AS
  • Portuguese (Portugal) - Latin1_General_CI_AS
  • Punjab-Gurmuhki (India) - Indic_General_90
  • Romanian - Romanian_CI_AS
  • Russian - Cyrillic_General_CI_AS
  • Sanskrit (India) - Indic_General_90
  • Serbian (Cyrillic) - Cyrillic_General_CI_AS
  • Serbian (Latin) - Cyrillic_General_CI_AS
  • Slovak - Slovak_CI_AS
  • Slovenian - Slovenian_CI_AS
  • Spanish (Argentina) - Modern_Spanish_CI_AS
  • Spanish (Bolivia) - Modern_Spanish_CI_AS
  • Spanish (Chile) - Modern_Spanish_CI_AS
  • Spanish (Colombia) - Latin1_General_AI_CI
  • Spanish (Costa Rica) - Modern_Spanish_CI_AS
  • Spanish (Dominican Republic) - Modern_Spanish_CI_AS
  • Spanish (Ecuador) - Modern_Spanish_CI_AS
  • Spanish (El Salvador) - Modern_Spanish_CI_AS
  • Spanish (Guatemala) - Modern_Spanish_CI_AS
  • Spanish (Honduras) - Modern_Spanish_CI_AS
  • Spanish (International Sort) - Modern_Spanish_CI_AS
  • Spanish (Mexico) - Modern_Spanish_CI_AS
  • Spanish (Nicaragua) - Modern_Spanish_CI_AS
  • Spanish (Panama) - Modern_Spanish_CI_AS
  • Spanish (Paraguay) - Modern_Spanish_CI_AS
  • Spanish (Peru) - Modern_Spanish_CI_AS
  • Spanish (Puerto Rico) - Modern_Spanish_CI_AS
  • Spanish (Traditional Sort) - Traditional_Spanish_CI_AS
  • Spanish (Uruguay) - Modern_Spanish_CI_AS
  • Spanish (Venezuela) - Modern_Spanish_CI_AS
  • Swahili - Latin1_General_CI_AS
  • Swedish - Finnish_Swedish_CI_AS
  • Swedish (Finland) - Finnish_Swedish_CI_AS
  • Syriac (Syria) - Syriac_90
  • Tamil (India) - Indic_General_90
  • Tatar (Tatarstan) - Tatar_90_CI_AS
  • Telugu (India) - Indic_General_90
  • Thai - Thai_CI_AS
  • Turkish - Turkish_CI_AS
  • Ukrainian - Ukrainian_CI_AS
  • Urdu - Arabic_CI_AS
  • Uzbek (Latin) - Uzbek_Latin_90_CI_AS
  • Uzbek-Cyrillic (Republic of Uzbeckistan) - Cyrillic_General_CI_AS
  • Vietnamese - Vietnamese_CI_AS
  • May 23 2007

    Microsofts ODBC driver forces character set translation *even if the option is disabled in the ODBC control panel* when the computers locale is not compatible with the collation type of the Emerald database.

    Since the database server does not nativly understand the UTF8 character encodings used by Emerald the data is incorrectly converted by the MS ODBC driver causing non-english character data to be incorrectly stored in the database.

    To prevent automatic conversion the Emerald systems regional settings must be compatible with the Emerald databases collation type. You can verify this is the case by using the windows odbc control panel (odbccp32.cpl) to test the Emerald datasource. If the test fails with a message 'perform translation for character data should be checked' there is a mismatch.

    Also the 'Perform translation for character data' configuration option for your Emerald ODBC datasource *must not be enabled*.

    There only way to resolve a mismatch with an existing Emerald database is by changing the language in the computers regional settings.

    To obtain the collation type of the Emerald database on the Microsoft SQL platform use SQL Enterprise manager/management studio or run the following query: SELECT databasepropertyex('Emerald5', 'Collation')

    Under Windows 2003/XP the operating systems regional setting is changed from the control panel / Regional And Language Options / Advanced / Language via the selection list for non-unicode programs.

    Please see your database servers documentation on the correct language to use based on collation type used for the Emerald systems regional settings.

    NOTE: you *MUST NOT* alter the collation type of the database. Doing this does not change the collation type of existing objects within the database and will cause compatibility problems with future updates creating objects with a different collation type from their peers.