DB에 접속하는 Client program이 non-Unicode program이라면 DB세팅전에 필히 확인하여 OS locale와 SQL Server collation 설정이 필수적이다.
(SQL Server에서 데이터가 저장된 DB의 Collation 변경 작업은 개안습이다.)

Windows OS에서 non-Unicode program 언어 설정방법
Control Panel(제어판) > Region and Language(지역 및 언어설정) >  Advanced(고급) Tab 에서
Language for non-Unicode program 설정을 해당 언어로 설정.

예를 들어 중국어 기반에 non-Unicode program과 이에 연동하는 DB를 세팅할 경우 다음과 같이 설정해야 한다.
non-Unicode program 이 구동되는 OS : Chinese(PRC)
SQL Server가 구동되는 OS : Chinese(PRC)
SQL Server default collation : Chinese_PRC_CI_AS

알고 있으면 아주 간단한 문제인데, 모르면 정말 아주 큰일이다... 언어 설정이 중구난방으로되어 DB에서 저장되는 문자열이 모두 엄하게 저장되었다. 조용히 다른 일자리를 찾아보도록 권고한다...ㅋㅋ
사실 프로그램과 DB가 유니코드 쓰면 이런 고민 자체가 필요 없어진다....
프로그램 초기 설계시 제발 유니코드로 좀....

<Windows Locale와 SQL Server Default Collation>

Windows locale

Windows LCID

SQL LCID

Default collation

Afrikaans (South Africa)

0x0436

0x0409

Latin1_General_CI_AS

Albanian (Albania)

0x041c

0x041c

Albanian_CI_AS

Alsatian (France)

0x0484

0x0409

Latin1_General_CI_AS

Amharic (Ethiopia)

0x045e

0x0409

Latin1_General_CI_AS

Arabic (Algeria)

0x1401

0x0401

Arabic_CI_AS

Arabic (Bahrain)

0x3c01

0x0401

Arabic_CI_AS

Arabic (Egypt)

0x0c01

0x0401

Arabic_CI_AS

Arabic (Iraq)

0x0801

0x0401

Arabic_CI_AS

Arabic (Jordan)

0x2c01

0x0401

Arabic_CI_AS

Arabic (Kuwait)

0x3401

0x0401

Arabic_CI_AS

Arabic (Lebanon)

0x3001

0x0401

Arabic_CI_AS

Arabic (Libya)

0x1001

0x0401

Arabic_CI_AS

Arabic (Morocco)

0x1801

0x0401

Arabic_CI_AS

Arabic (Oman)

0x2001

0x0401

Arabic_CI_AS

Arabic (Qatar)

0x4001

0x0401

Arabic_CI_AS

Arabic (Saudi Arabia)

0x0401

0x0401

Arabic_CI_AS

Arabic (Syria)

0x2801

0x0401

Arabic_CI_AS

Arabic (Tunisia)

0x1c01

0x0401

Arabic_CI_AS

Arabic (U.A.E.)

0x3801

0x0401

Arabic_CI_AS

Arabic (Yemen)

0x2401

0x0401

Arabic_CI_AS

Armenian (Armenia)

0x042b

0x0419

Latin1_General_CI_AS

Assamese (India)

0x044d

0x044d

Not available at server level

Azeri (Azerbaijan, Cyrillic)

0x082c

0x082c

Deprecated, not available at server level

Azeri (Azerbaijan, Latin)

0x042c

0x042c

Deprecated, not available at server level

Bashkir (Russia)

0x046d

0x046d

Latin1_General_CI_AI

Basque (Basque)

0x042d

0x0409

Latin1_General_CI_AS

Belarusian (Belarus)

0x0423

0x0419

Cyrillic_General_CI_AS

Bengali (Bangladesh)

0x0845

0x0445

Not available at server level

Bengali (India)

0x0445

0x0439

Not available at server level

Bosnian (Bosnia and Herzegovina, Cyrillic)

0x201a

0x201a

Latin1_General_CI_AI

Bosnian (Bosnia and Herzegovina, Latin)

0x141a

0x141a

Latin1_General_CI_AI

Breton (France)

0x047e

0x047e

Latin1_General_CI_AI

Bulgarian (Bulgaria)

0x0402

0x0419

Cyrillic_General_CI_AS

Catalan (Catalan)

0x0403

0x0409

Latin1_General_CI_AS

Chinese (Hong Kong SAR, PRC)

0x0c04

0x0404

Chinese_Taiwan_Stroke_CI_AS

Chinese (Macao SAR)

0x1404

0x1404

Latin1_General_CI_AI

Chinese (Macau)

*0x21404

0x21404

Latin1_General_CI_AI

Chinese (PRC)

0x0804

0x0804

Chinese_PRC_CI_AS

Chinese (PRC)

*0x20804

0x20804

Chinese_PRC_Stroke_CI_AS

Chinese (Singapore)

0x1004

0x0804

Chinese_PRC_CI_AS

Chinese (Singapore)

*0x21004

0x20804

Chinese_PRC_Stroke_CI_AS

Chinese (Taiwan)

*0x30404

0x30404

Chinese_Taiwan_Bopomofo_CI_AS

Chinese (Taiwan)

0x0404

0x0404

Chinese_Taiwan_Stroke_CI_AS

Corsican (France)

0x0483

0x0483

Latin1_General_CI_AI

Croatian (Bosnia and Herzegovina, Latin)

0x101a

0x041a

Croatian_CI_AS

Croatian (Croatia)

0x041a

0x041a

Croatian_CI_AS

Czech (Czech Republic)

0x0405

0x0405

Czech_CI_AS

Danish (Denmark)

0x0406

0x0406

Danish_Norwegian_CI_AS

Dari (Afghanistan)

0x048c

0x048c

Latin1_General_CI_AI

Divehi (Maldives)

0x0465

0x0465

Not available at server level

Dutch (Belgium)

0x0813

0x0409

Latin1_General_CI_AS

Dutch (Netherlands)

0x0413

0x0409

Latin1_General_CI_AS

English (Australia)

0x0c09

0x0409

Latin1_General_CI_AS

English (Belize)

0x2809

0x0409

Latin1_General_CI_AS

English (Canada)

0x1009

0x0409

Latin1_General_CI_AS

English (Caribbean)

0x2409

0x0409

Latin1_General_CI_AS

English (India)

0x4009

0x0409

Latin1_General_CI_AS

English (Ireland)

0x1809

0x0409

Latin1_General_CI_AS

English (Jamaica)

0x2009

0x0409

Latin1_General_CI_AS

English (Malaysia)

0x4409

0x0409

Latin1_General_CI_AS

English (New Zealand)

0x1409

0x0409

Latin1_General_CI_AS

English (Philippines)

0x3409

0x0409

Latin1_General_CI_AS

English (Singapore)

0x4809

0x0409

Latin1_General_CI_AS

English (South Africa)

0x1c09

0x0409

Latin1_General_CI_AS

English (Trinidad and Tobago)

0x2c09

0x0409

Latin1_General_CI_AS

English (United Kingdom)

0x0809

0x0409

Latin1_General_CI_AS

English (United States)

0x0409

0x0409

SQL_Latin1_General_CP1_CI_AS

English (Zimbabwe)

0x3009

0x0409

Latin1_General_CI_AS

Estonian (Estonia)

0x0425

0x0425

Estonian_CI_AS

Faroese (Faroe Islands)

0x0438

0x0409

Latin1_General_CI_AS

Filipino (Philippines)

0x0464

0x0409

Latin1_General_CI_AS

Finnish (Finland)

0x040b

0x040b

Finnish_Swedish_CI_AS

French (Belgium)

0x080c

0x040c

French_CI_AS

French (Canada)

0x0c0c

0x040c

French_CI_AS

French (France)

0x040c

0x040c

French_CI_AS

French (Luxembourg)

0x140c

0x040c

French_CI_AS

French (Monaco)

0x180c

0x040c

French_CI_AS

French (Switzerland)

0x100c

0x040c

French_CI_AS

Frisian (Netherlands)

0x0462

0x0462

Latin1_General_CI_AI

Galician (Spain)

0x0456

0x0409

Latin1_General_CI_AS

Georgian (Georgia)

*0x10437

0x10437

Georgian_Modern_Sort_CI_AS

Georgian (Georgia)

0x0437

0x0419

Latin1_General_CI_AS

German - Phone Book Sort (DIN)

*0x10407

0x10407

German_PhoneBook_CI_AS

German (Austria)

0x0c07

0x0409

Latin1_General_CI_AS

German (Germany)

0x0407

0x0409

Latin1_General_CI_AS

German (Liechtenstein)

0x1407

0x0409

Latin1_General_CI_AS

German (Luxembourg)

0x1007

0x0409

Latin1_General_CI_AS

German (Switzerland)

0x0807

0x0409

Latin1_General_CI_AS

Greek (Greece)

0x0408

0x0408

Greek_CI_AS

Greenlandic (Greenland)

0x046f

0x0406

Danish_Norwegian_CI_AS

Gujarati (India)

0x0447

0x0439

Not available at server level

Hausa (Nigeria, Latin)

0x0468

0x0409

Latin1_General_CI_AS

Hebrew (Israel)

0x040d

0x040d

Hebrew_CI_AS

Hindi (India)

0x0439

0x0439

Not available at server level

Hungarian (Hungary)

0x040e

0x040e

Hungarian_CI_AS

Hungarian Technical Sort

*0x1040e

0x1040e

Hungarian_Technical_CI_AS

Icelandic (Iceland)

0x040f

0x040f

Icelandic_CI_AS

Igbo (Nigeria)

0x0470

0x0409

Latin1_General_CI_AS

Indonesian (Indonesia)

0x0421

0x0409

Latin1_General_CI_AS

Inuktitut (Canada, Latin)

0x085d

0x0409

Latin1_General_CI_AS

Inuktitut (Syllabics) Canada

0x045d

0x045d

Latin1_General_CI_AI

Irish (Ireland)

0x083c

0x0409

Latin1_General_CI_AS

Italian (Italy)

0x0410

0x0409

Latin1_General_CI_AS

Italian (Switzerland)

0x0810

0x0409

Latin1_General_CI_AS

Japanese (Japan XJIS)

0x0411

0x0411

Japanese_CI_AS

Japanese (Japan)

*0x040411

0x40411

Latin1_General_CI_AI

Kannada (India)

0x044b

0x0439

Not available at server level

Kazakh (Kazakhstan)

0x043f

0x043f

Kazakh_90_CI_AS

Khmer (Cambodia)

0x0453

0x0453

Not available at server level

K'iche (Guatemala)

0x0486

0x0c0a

Modern_Spanish_CI_AS

Kinyarwanda (Rwanda)

0x0487

0x0409

Latin1_General_CI_AS

Konkani (India)

0x0457

0x0439

Not available at server level

Korean (Korea Dictionary Sort)

0x0412

0x0412

Korean_Wansung_CI_AS

Kyrgyz (Kyrgyzstan)

0x0440

0x0419

Cyrillic_General_CI_AS

Lao (Lao PDR)

0x0454

0x0454

Not available at server level

Latvian (Latvia)

0x0426

0x0426

Latvian_CI_AS

Lithuanian (Lithuania)

0x0427

0x0427

Lithuanian_CI_AS

Lower Sorbian (Germany)

0x082e

0x0409

Latin1_General_CI_AS

Luxembourgish (Luxembourg)

0x046e

0x0409

Latin1_General_CI_AS

Macedonian (Macedonia, FYROM)

0x042f

0x042f

Macedonian_FYROM_90_CI_AS

Malay (Brunei Darussalam)

0x083e

0x0409

Latin1_General_CI_AS

Malay (Malaysia)

0x043e

0x0409

Latin1_General_CI_AS

Malayalam (India)

0x044c

0x0439

Not available at server level

Maltese (Malta)

0x043a

0x043a

Latin1_General_CI_AI

Maori (New Zealand)

0x0481

0x0481

Latin1_General_CI_AI

Mapudungun (Chile)

0x047a

0x047a

Latin1_General_CI_AI

Marathi (India)

0x044e

0x0439

Not available at server level

Mohawk (Canada)

0x047c

0x047c

Latin1_General_CI_AI

Mongolian (Mongolia)

0x0450

0x0419

Cyrillic_General_CI_AS

Mongolian (PRC)

0x0850

0x0419

Cyrillic_General_CI_AS

Nepali (Nepal)

0x0461

0x0461

Not available at server level

Norwegian (Bokmål, Norway)

0x0414

0x0414

Latin1_General_CI_AI

Norwegian (Nynorsk, Norway)

0x0814

0x0414

Latin1_General_CI_AI

Occitan (France)

0x0482

0x040c

French_CI_AS

Oriya (India)

0x0448

0x0439

Not available at server level

Pashto (Afghanistan)

0x0463

0x0463

Not available at server level

Persian (Iran)

0x0429

0x0429

Latin1_General_CI_AI

Polish (Poland)

0x0415

0x0415

Polish_CI_AS

Portuguese (Brazil)

0x0416

0x0409

Latin1_General_CI_AS

Portuguese (Portugal)

0x0816

0x0409

Latin1_General_CI_AS

Punjabi (India)

0x0446

0x0439

Not available at server level

Quechua (Bolivia)

0x046b

0x0409

Latin1_General_CI_AS

Quechua (Ecuador)

0x086b

0x0409

Latin1_General_CI_AS

Quechua (Peru)

0x0c6b

0x0409

Latin1_General_CI_AS

Romanian (Romania)

0x0418

0x0418

Romanian_CI_AS

Romansh (Switzerland)

0x0417

0x0417

Latin1_General_CI_AI

Russian (Russia)

0x0419

0x0419

Cyrillic_General_CI_AS

Sami (Inari, Finland)

0x243b

0x083b

Latin1_General_CI_AI

Sami (Lule, Norway)

0x103b

0x043b

Latin1_General_CI_AI

Sami (Lule, Sweden)

0x143b

0x083b

Latin1_General_CI_AI

Sami (Northern, Finland)

0x0c3b

0x083b

Latin1_General_CI_AI

Sami (Northern, Norway)

0x043b

0x043b

Latin1_General_CI_AI

Sami (Northern, Sweden)

0x083b

0x083b

Latin1_General_CI_AI

Sami (Skolt, Finland)

0x203b

0x083b

Latin1_General_CI_AI

Sami (Southern, Norway)

0x183b

0x043b

Latin1_General_CI_AI

Sami (Southern, Sweden)

0x1c3b

0x083b

Latin1_General_CI_AI

Sanskrit (India)

0x044f

0x0439

Not available at server level

Serbian (Bosnia and Herzegovina, Cyrillic)

0x1c1a

0x0c1a

Latin1_General_CI_AI

Serbian (Bosnia and Herzegovina, Latin)

0x181a

0x081a

Latin1_General_CI_AI

Serbian (Serbia, Cyrillic)

0x0c1a

0x0c1a

Latin1_General_CI_AI

Serbian (Serbia, Latin)

0x081a

0x081a

Latin1_General_CI_AI

Sesotho sa Leboa/Northern Sotho (South Africa)

0x046c

0x0409

Latin1_General_CI_AS

Setswana/Tswana (South Africa)

0x0432

0x0409

Latin1_General_CI_AS

Sinhala (Sri Lanka)

0x045b

0x0439

Not available at server level

Slovak (Slovakia)

0x041b

0x041b

Slovak_CI_AS

Slovenian (Slovenia)

0x0424

0x0424

Slovenian_CI_AS

Spanish (Argentina)

0x2c0a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Bolivia)

0x400a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Chile)

0x340a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Colombia)

0x240a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Costa Rica)

0x140a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Dominican Republic)

0x1c0a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Ecuador)

0x300a

0x0c0a

Modern_Spanish_CI_AS

Spanish (El Salvador)

0x440a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Guatemala)

0x100a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Honduras)

0x480a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Mexico)

0x080a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Nicaragua)

0x4c0a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Panama)

0x180a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Paraguay)

0x3c0a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Peru)

0x280a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Puerto Rico)

0x500a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Spain)

0x0c0a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Spain, Traditional Sort)

0x040a

0x040a

Traditional_Spanish_CI_AS

Spanish (United States)

0x540a

0x0409

Latin1_General_CI_AS

Spanish (Uruguay)

0x380a

0x0c0a

Modern_Spanish_CI_AS

Spanish (Venezuela)

0x200a

0x0c0a

Modern_Spanish_CI_AS

Swahili (Kenya)

0x0441

0x0409

Latin1_General_CI_AS

Swedish (Finland)

0x081d

0x040b

Finnish_Swedish_CI_AS

Swedish (Sweden)

0x041d

0x040b

Finnish_Swedish_CI_AS

Syriac (Syria)

0x045a

0x045a

Not available at server level

Tajik (Tajikistan)

0x0428

0x0419

Cyrillic_General_CI_AS

Tamazight (Algeria, Latin)

0x085f

0x085f

Latin1_General_CI_AI

Tamil (India)

0x0449

0x0439

Not available at server level

Tatar (Russia)

0x0444

0x0444

Cyrillic_General_CI_AS

Telugu (India)

0x044a

0x0439

Not available at server level

Thai (Thailand)

0x041e

0x041e

Thai_CI_AS

Tibetan (PRC)

0x0451

0x0451

Not available at server level

Turkish (Turkey)

0x041f

0x041f

Turkish_CI_AS

Turkmen (Turkmenistan)

0x0442

0x0442

Latin1_General_CI_AI

Uighur (PRC)

0x0480

0x0480

Latin1_General_CI_AI

Ukrainian (Ukraine)

0x0422

0x0422

Ukrainian_CI_AS

Upper Sorbian (Germany)

0x042e

0x042e

Latin1_General_CI_AI

Urdu (Pakistan)

0x0420

0x0420

Latin1_General_CI_AI

Uzbek (Uzbekistan, Cyrillic)

0x0843

0x0419

Cyrillic_General_CI_AS

Uzbek (Uzbekistan, Latin)

0x0443

0x0443

Uzbek_Latin_90_CI_AS

Vietnamese (Vietnam)

0x042a

0x042a

Vietnamese_CI_AS

Welsh (United Kingdom)

0x0452

0x0452

Latin1_General_CI_AI

Wolof (Senegal)

0x0488

0x040c

French_CI_AS

Xhosa/isiXhosa (South Africa)

0x0434

0x0409

Latin1_General_CI_AS

Yakut (Russia)

0x0485

0x0485

Latin1_General_CI_AI

Yi (PRC)

0x0478

0x0409

Latin1_General_CI_AS

Yoruba (Nigeria)

0x046a

0x0409

Latin1_General_CI_AS

Zulu/isiZulu (South Africa)

0x0435

0x0409

Latin1_General_CI_AS

 

출처 : http://msdn.microsoft.com/en-us/library/ms143508.aspx 

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 좐군

2012/03/14 13:13 2012/03/14 13:13
, ,
Response
No Trackback , No Comment
RSS :
http://John.tobe30.com/tc/rss/response/342

Trackback URL : http://John.tobe30.com/tc/trackback/342

Leave a comment
[로그인][오픈아이디란?]