RE: SQL server 7.0 & Unicode locale ID

From: Carl W. Brown (cbrown@xnetinc.com)
Date: Tue May 22 2001 - 11:22:49 EDT


Peter,

>1033, and my server is using locale ID 2057.

This is found in WINNT.H

//
// A language ID is a 16 bit value which is the combination of a
// primary language ID and a secondary language ID. The bits are
// allocated as follows:
//
// +-----------------------+-------------------------+
// | Sublanguage ID | Primary Language ID |
// +-----------------------+-------------------------+
// 15 10 9 0 bit
//

1033 = 0x0409 Sublanguage = 0x01 Primary Language = 0x09 (English)

2057 = 0x0809 Sublanguage = 0x02 Primary Language = 0x09 (English)

#define LANG_ENGLISH 0x09

#define SUBLANG_ENGLISH_US 0x01 // English (USA)
#define SUBLANG_ENGLISH_UK 0x02 // English (UK)

A table that can be used to convert between LCIDs and ICU locales.

#define LANGSUBLANGINT(p, s) (p) + (1024 * (s))

typedef struct win_lc_rec {
  int32_t lcid;
  char *locale;
} win_lc_record;

win_lc_record win_lc_recs[] =
{ LANGSUBLANGINT(LANG_NEUTRAL,SUBLANG_DEFAULT), "en_US" ,
  LANGSUBLANGINT(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT), "en_US" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_SAUDI_ARABIA), "ar_SA" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_IRAQ), "ar_IQ" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_EGYPT), "ar_EG" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_LIBYA), "ar_LY" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_ALGERIA), "ar_DZ" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_MOROCCO), "ar_MA" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_TUNISIA), "ar_TN" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_OMAN), "ar_OM" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_YEMEN), "ar_YE" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_SYRIA), "ar_SY" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_JORDAN), "ar_JO" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_LEBANON), "ar_LB" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_KUWAIT), "ar_KW" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_UAE), "ar_AE" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_BAHRAIN), "ar_BH" ,
  LANGSUBLANGINT(LANG_ARABIC,SUBLANG_ARABIC_QATAR), "ar_QA" ,
  LANGSUBLANGINT(LANG_BULGARIAN,SUBLANG_DEFAULT), "bg_BG" ,
  LANGSUBLANGINT(LANG_CATALAN,SUBLANG_DEFAULT), "ca_ES" ,
  LANGSUBLANGINT(LANG_CHINESE,SUBLANG_CHINESE_TRADITIONAL), "zh_TW" ,
  LANGSUBLANGINT(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED), "zh_CN" ,
  LANGSUBLANGINT(LANG_CHINESE,SUBLANG_CHINESE_HONGKONG), "zh_HK" ,
  LANGSUBLANGINT(LANG_CHINESE,SUBLANG_CHINESE_SINGAPORE), "zh_SG" ,
  LANGSUBLANGINT(LANG_CHINESE,SUBLANG_CHINESE_MACAU), "zh_MO" ,
  LANGSUBLANGINT(LANG_CZECH,SUBLANG_DEFAULT), "cs_CZ" ,
  LANGSUBLANGINT(LANG_DANISH,SUBLANG_DEFAULT), "da_DK" ,
  LANGSUBLANGINT(LANG_GERMAN,SUBLANG_GERMAN), "de_DE" ,
  LANGSUBLANGINT(LANG_GERMAN,SUBLANG_GERMAN_SWISS), "de_CH" ,
  LANGSUBLANGINT(LANG_GERMAN,SUBLANG_GERMAN_AUSTRIAN), "de_AT" ,
  LANGSUBLANGINT(LANG_GERMAN,SUBLANG_GERMAN_LUXEMBOURG), "de_LU" ,
  LANGSUBLANGINT(LANG_GERMAN,SUBLANG_GERMAN_LIECHTENSTEIN), "de_LI" ,
  LANGSUBLANGINT(LANG_GREEK,SUBLANG_DEFAULT), "el_GR" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_US), "en_US" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_US), "en_AS" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_US), "en_GU" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_US), "en_MH" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_US), "en_MP" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_US), "en_UM" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_UK), "en_GB" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_AUS), "en_AU" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_CAN), "en_CA" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_NZ), "en_NZ" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_EIRE), "en_IE" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_SOUTH_AFRICA), "en_ZA" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_JAMAICA), "en_JM" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_CARIBBEAN), "en_VI" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_BELIZE), "en_BZ" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_TRINIDAD), "en_TT" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_ZIMBABWE), "en_ZW" ,
  LANGSUBLANGINT(LANG_ENGLISH,SUBLANG_ENGLISH_PHILIPPINES), "en_PH" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH), "es_ES_T" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_MEXICAN), "es_MX" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_MODERN), "es_ES" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_GUATEMALA), "es_GT" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_COSTA_RICA), "es_CR" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_PANAMA), "es_PA" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_DOMINICAN_REPUBLIC), "es_DO" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_VENEZUELA), "es_VE" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_COLOMBIA), "es_CO" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_PERU), "es_PE" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_ARGENTINA), "es_AR" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_ECUADOR), "es_EC" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_CHILE), "es_CL" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_URUGUAY), "es_UY" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_PARAGUAY), "es_PY" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_BOLIVIA), "es_BO" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_EL_SALVADOR), "es_SV" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_HONDURAS), "es_HN" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_NICARAGUA), "es_NI" ,
  LANGSUBLANGINT(LANG_SPANISH,SUBLANG_SPANISH_PUERTO_RICO), "es_PR" ,
  LANGSUBLANGINT(LANG_FINNISH,SUBLANG_DEFAULT), "fi_FI" ,
  LANGSUBLANGINT(LANG_FRENCH,SUBLANG_FRENCH), "fr_FR" ,
  LANGSUBLANGINT(LANG_FRENCH,SUBLANG_FRENCH_BELGIAN), "fr_BE" ,
  LANGSUBLANGINT(LANG_FRENCH,SUBLANG_FRENCH_CANADIAN), "fr_CA" ,
  LANGSUBLANGINT(LANG_FRENCH,SUBLANG_FRENCH_SWISS), "fr_CH" ,
  LANGSUBLANGINT(LANG_FRENCH,SUBLANG_FRENCH_LUXEMBOURG), "fr_LU" ,
  LANGSUBLANGINT(LANG_FRENCH,SUBLANG_FRENCH_MONACO), "fr_MC" ,
  LANGSUBLANGINT(LANG_HEBREW,SUBLANG_DEFAULT), "he_IL" ,
  LANGSUBLANGINT(LANG_HUNGARIAN,SUBLANG_DEFAULT), "hu_HU" ,
  LANGSUBLANGINT(LANG_ICELANDIC,SUBLANG_DEFAULT), "is_IS" ,
  LANGSUBLANGINT(LANG_ITALIAN,SUBLANG_ITALIAN), "it_IT" ,
  LANGSUBLANGINT(LANG_ITALIAN,SUBLANG_ITALIAN_SWISS), "it_CH" ,
  LANGSUBLANGINT(LANG_JAPANESE,SUBLANG_DEFAULT), "ja_JP" ,
  LANGSUBLANGINT(LANG_KOREAN,SUBLANG_KOREAN), "ko_KR" ,
  LANGSUBLANGINT(LANG_DUTCH,SUBLANG_DUTCH), "nl_NL" ,
  LANGSUBLANGINT(LANG_DUTCH,SUBLANG_DUTCH_BELGIAN), "nl_BE" ,
  LANGSUBLANGINT(LANG_NORWEGIAN,SUBLANG_NORWEGIAN_BOKMAL), "nb_NO" ,
  LANGSUBLANGINT(LANG_NORWEGIAN,SUBLANG_NORWEGIAN_NYNORSK), "nn_NO" ,
  LANGSUBLANGINT(LANG_NORWEGIAN,SUBLANG_NORWEGIAN_NYNORSK), "nn" ,
  LANGSUBLANGINT(LANG_POLISH,SUBLANG_DEFAULT), "pl_PL" ,
  LANGSUBLANGINT(LANG_PORTUGUESE,SUBLANG_PORTUGUESE_BRAZILIAN), "pt_BR" ,
  LANGSUBLANGINT(LANG_PORTUGUESE,SUBLANG_PORTUGUESE), "pt_PT" ,
  LANGSUBLANGINT(LANG_ROMANIAN,SUBLANG_DEFAULT), "ro_RO" ,
  LANGSUBLANGINT(LANG_RUSSIAN,SUBLANG_DEFAULT), "ru_RU" ,
  LANGSUBLANGINT(LANG_SERBIAN,SUBLANG_SERBIAN_LATIN), "sh_YU" ,
  LANGSUBLANGINT(LANG_SERBIAN,SUBLANG_SERBIAN_CYRILLIC), "sr_YU" ,
  LANGSUBLANGINT(LANG_SERBIAN,SUBLANG_DEFAULT), "sr_YU" ,
  LANGSUBLANGINT(LANG_CROATIAN,SUBLANG_DEFAULT), "hr_YU" ,
  LANGSUBLANGINT(LANG_CROATIAN,SUBLANG_DEFAULT), "hr_HR" ,
  LANGSUBLANGINT(LANG_SLOVAK,SUBLANG_DEFAULT), "sk_SK" ,
  LANGSUBLANGINT(LANG_ALBANIAN,SUBLANG_DEFAULT), "sq_AL" ,
  LANGSUBLANGINT(LANG_SWEDISH,SUBLANG_SWEDISH), "sv_SE" ,
  LANGSUBLANGINT(LANG_SWEDISH,SUBLANG_SWEDISH_FINLAND), "sv_FI" ,
  LANGSUBLANGINT(LANG_THAI,SUBLANG_DEFAULT), "th_TH" ,
  LANGSUBLANGINT(LANG_TURKISH,SUBLANG_DEFAULT), "tr_TR" ,
  LANGSUBLANGINT(LANG_URDU,SUBLANG_URDU_PAKISTAN), "ur_PK" ,
  LANGSUBLANGINT(LANG_URDU,SUBLANG_URDU_INDIA), "ur_IN" ,
  LANGSUBLANGINT(LANG_INDONESIAN,SUBLANG_DEFAULT), "id_ID" ,
  LANGSUBLANGINT(LANG_UKRAINIAN,SUBLANG_DEFAULT), "uk_UA" ,
  LANGSUBLANGINT(LANG_BELARUSIAN,SUBLANG_DEFAULT), "be_BY" ,
  LANGSUBLANGINT(LANG_SLOVENIAN,SUBLANG_DEFAULT), "sl_SI" ,
  LANGSUBLANGINT(LANG_ESTONIAN,SUBLANG_DEFAULT), "et_EE" ,
  LANGSUBLANGINT(LANG_LATVIAN,SUBLANG_DEFAULT), "lv_LV" ,
  LANGSUBLANGINT(LANG_LITHUANIAN,SUBLANG_LITHUANIAN), "lt_LT" ,
  LANGSUBLANGINT(LANG_LITHUANIAN,SUBLANG_LITHUANIAN_CLASSIC), "lt_LT" ,
  LANGSUBLANGINT(LANG_FARSI,SUBLANG_DEFAULT), "fa_IR" ,
  LANGSUBLANGINT(LANG_VIETNAMESE,SUBLANG_DEFAULT), "vi_VN" ,
  LANGSUBLANGINT(LANG_ARMENIAN,SUBLANG_DEFAULT), "hy_AM" ,
  LANGSUBLANGINT(LANG_AZERI,SUBLANG_AZERI_LATIN), "az_AZ_L" ,
  LANGSUBLANGINT(LANG_AZERI,SUBLANG_AZERI_CYRILLIC), "az_AZ_C" ,
  LANGSUBLANGINT(LANG_BASQUE,SUBLANG_DEFAULT), "eu_ES" ,
  LANGSUBLANGINT(LANG_MACEDONIAN,SUBLANG_DEFAULT), "mk_MK" ,
  LANGSUBLANGINT(LANG_AFRIKAANS,SUBLANG_DEFAULT), "af_ZA" ,
  LANGSUBLANGINT(LANG_GEORGIAN,SUBLANG_DEFAULT), "ka_GE" ,
  LANGSUBLANGINT(LANG_FAEROESE,SUBLANG_DEFAULT), "fo_FO" ,
  LANGSUBLANGINT(LANG_HINDI,SUBLANG_DEFAULT), "hi_IN" ,
  0x043A, "mt_MT" , /* maltese */
  LANGSUBLANGINT(LANG_MALAY,SUBLANG_MALAY_MALAYSIA), "ms_MY" ,
  LANGSUBLANGINT(LANG_MALAY,SUBLANG_MALAY_BRUNEI_DARUSSALAM), "ms_BN" ,
  LANGSUBLANGINT(LANG_KAZAK,SUBLANG_DEFAULT), "kk_KZ" ,
  LANGSUBLANGINT(LANG_SWAHILI,SUBLANG_DEFAULT), "sw_KE" ,
  LANGSUBLANGINT(LANG_UZBEK,SUBLANG_UZBEK_LATIN), "uz_UZ_L" ,
  LANGSUBLANGINT(LANG_UZBEK,SUBLANG_UZBEK_CYRILLIC), "uz_UZ_C" ,
  LANGSUBLANGINT(LANG_TATAR,SUBLANG_DEFAULT), "tt_RU" ,
  LANGSUBLANGINT(LANG_BENGALI,SUBLANG_DEFAULT), "bn_IN" ,
  LANGSUBLANGINT(LANG_PUNJABI,SUBLANG_DEFAULT), "pa_IN" ,
  LANGSUBLANGINT(LANG_GUJARATI,SUBLANG_DEFAULT), "gu_IN" ,
  LANGSUBLANGINT(LANG_ORIYA,SUBLANG_DEFAULT), "or_IN" ,
  LANGSUBLANGINT(LANG_TAMIL,SUBLANG_DEFAULT), "ta_IN" ,
  LANGSUBLANGINT(LANG_TELUGU,SUBLANG_DEFAULT), "te_IN" ,
  LANGSUBLANGINT(LANG_KANNADA,SUBLANG_DEFAULT), "kn_IN" ,
  LANGSUBLANGINT(LANG_MALAYALAM,SUBLANG_DEFAULT), "ml_IN" ,
  LANGSUBLANGINT(LANG_ASSAMESE,SUBLANG_DEFAULT), "as_IN" ,
  LANGSUBLANGINT(LANG_MARATHI,SUBLANG_DEFAULT), "mr_IN" ,
  LANGSUBLANGINT(LANG_SANSKRIT,SUBLANG_DEFAULT), "sa_IN" ,
  LANGSUBLANGINT(LANG_KONKANI,SUBLANG_DEFAULT), "kok_IN" ,
  LANGSUBLANGINT(LANG_MANIPURI,SUBLANG_DEFAULT), "mni_IN" ,
  LANGSUBLANGINT(LANG_SINDHI,SUBLANG_DEFAULT), "sd_IN" ,
  LANGSUBLANGINT(LANG_KASHMIRI,SUBLANG_DEFAULT), "ks_PK" ,
  LANGSUBLANGINT(LANG_KASHMIRI,SUBLANG_KASHMIRI_INDIA), "ks_IN" ,
  LANGSUBLANGINT(LANG_NEPALI,SUBLANG_DEFAULT), "ne_NP" ,
  LANGSUBLANGINT(LANG_NEPALI,SUBLANG_NEPALI_INDIA), "ne_IN" ,
  0 , "en_US"
};

Carl

-----Original Message-----
From: unicode-bounce@unicode.org [mailto:unicode-bounce@unicode.org]On
Behalf Of Magda Danish (Unicode)
Sent: Monday, May 21, 2001 12:17 PM
To: unicode@unicode.org
Subject: SQL server 7.0 & Unicode locale ID

 

        -----Original Message-----
        From: Howarth, Peter
        Sent: Mon 5/21/2001 6:22 AM
        To: info@unicode.org
        Cc:
        Subject: Looking for some specific information:
        
        

        Dear Sir / Madam,
        I am having problems restoring a database using SQL Server 7.0,
the error
        being that the database was backed up using unicode locale ID
1033, and my
        server is using locale ID 2057. I can only set which region I
want on
        installation of SQL, and I'm trying to find a list of Regions vs
their ID
        numbers, so I can pick the correct region without having to try
each one
        through a lengthy install.
        Any help or pointers in the right direction would be much
appreciated.
        Regards,
        Peter Howarth
        
        
> Peter Howarth
> Web Developer
> Data Systems & Solutions
> PO Box 46
> Fishponds
> Bristol BS16 1YZ
> Phone: +44 (0)117 317 3837
> Fax: +44 (0)117 959 9028
> Email peter.howarth@ds-s.com
>
>
        



This archive was generated by hypermail 2.1.2 : Fri Jul 06 2001 - 00:18:17 EDT