Databaseμ—μ„œ μ½”λ“œνŽ˜μ΄μ§€λŠ” μ§€μ›λ˜λŠ” 문자 λ°μ΄ν„°μ˜ μ–Έμ–΄λ₯Ό μ˜λ―Έν•œλ‹€.Β  ν•œκ΅­ 고객듀이 ν”νžˆ μ‚¬μš©ν•˜λŠ” μ½”λ“œνŽ˜μ΄μ§€λŠ” 970, 1363, 1208 등이닀. 970은 μ™„μ„±ν˜• ν•œκΈ€λ‘œ KSC5601의 2,350자λ₯Ό μ§€μ›ν•˜λ©°,Β  1363은 MS949λ₯Ό μ§€μ›ν•˜λŠ” ν™•μž₯ν˜• ν•œκΈ€λ‘œ 11,172κΈ€μž 수λ₯Ό μ§€μ›ν•œλ‹€.Β  그리고 1363은 Windows ν™˜κ²½λΏ μ•„λ‹ˆλΌ,Β  Linux, Unixν™˜κ²½μ—λ„ κ³΅ν†΅μœΌλ‘œ μ§€μ›λœλ‹€.Β  1208은 UTF-8이며 μ΅œκ·Όμ—λŠ” κΈ€λ‘œλ²Œ μ‹œλŒ€μ— 발 λ§žμΆ”μ–΄ μƒˆλ‘œ κ΅¬μΆ•ν•˜λŠ” μ‹œμŠ€ν…œ λŒ€λΆ€λΆ„μ—μ„œ μ‚¬μš©λœλ‹€.

Db2 μ—μ„œ μ½”λ“œ νŽ˜μ΄μ§€λŠ” get dbΒ  cfgλͺ…λ ΉμœΌλ‘œΒ  ν™•μΈν•œλ‹€.

# db2 get db cfg for sample

Database territory = ko_kr
Database code page = 1208
Database code set = utf-8
Database country/region code = 82

Java λ˜λŠ” WASμ„œλ²„μ—μ„œ μ½”λ“œνŽ˜μ΄μ§€λŠ”Β  JVM속성에 μ˜ν•΄ κ²°μ •λœλ‹€.Β  이값을 μ„€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ OS λ‘œμΌ€μΌκ°’μ΄ μ μš©λœλ‹€.

-Dclient.encoding.override= UTF-8

-Dfile.encoding=UTF-8

UTF-8μ—μ„œ 문자 λ°μ΄ν„°λŠ” 1~4λ°”μ΄νŠΈμ˜ 곡간을 μ°¨μ§€ν•œλ‹€.Β  μ‹€ 데이터에 따라 차이가 μžˆμœΌλ‚˜ 970, 1363에 λΉ„ν•΄ ν†΅μƒΒ μŠ€ν† λ¦¬μ§€ μ‚¬μš©μœ¨μ€ μ¦κ°€λœλ‹€.Β  만일 μŠ€ν† λ¦¬μ§€ μ ˆκ°μ„ μœ„ν•΄Β  λ°μ΄ν„°λ² μ΄μŠ€ μ½”λ“œ νŽ˜μ΄μ§€λ₯Ό 970 ν˜Ήμ€ 1363 을 μ„ νƒν•˜λŠ” 경우라면,Β  Β 970은  EUC-KR(KSC5601), 1363은 MS949둜 JVM 속성값을 μ„€μ •ν•œλ‹€.Β  MS949λŠ” Windows μ„œλ²„ 뿐 μ•„λ‹ˆλΌ Linux, Unixμ„œλ²„μ˜ JVM도 κ·ΈλŒ€λ‘œ μ§€μ›λœλ‹€.

Db2μ—μ„œ μ½”λ“œ νŽ˜μ΄μ§€λŠ” Databaseλ₯Ό 생성할 λ•Œ κ²°μ •λ˜λ©° μΆ”ν›„ 변경이 λ˜μ§€ μ•ŠλŠ”λ‹€. μ½”λ“œ νŽ˜μ΄μ§€ μ„ νƒμ‹œ μš°μ„  κ³ λ €ν•  것은 업무 μš”κ΅¬μ‚¬ν•­μ— λŒ€μ‘ν•  수 μžˆλŠ” μ½”λ“œ νŽ˜μ΄μ§€μ΄λ‹€.Β   즉 λ‹€κ΅­μ–΄ 처리 μš”κ±΄μ΄ μžˆλ‹€λ©΄ μ½”λ“œνŽ˜μ΄μ§€λŠ” 1208둜 ν•œλ‹€.Β  μ΅œκ·Όμ—λŠ” ꡳ이 λ‹€κ΅­μ–΄ μš”κ±΄μ΄ 없더라도 μ—¬λŸ¬ μ£Όλ³€μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ΄ UTF-8을 κΈ°λ°˜ν•˜λŠ” κ²½μš°κ°€ λŒ€λΆ€λΆ„μ΄λ―€λ‘œ Database도 UTF-8을 μ„ νƒν•˜λŠ” κ²½μš°κ°€ λ§Žλ‹€.Β  특히 Java μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν™˜κ²½μ—μ„œλŠ” db2 jdbc λ“œλΌμ΄λ²„κ°€ UTF-8 에 μ΅œμ ν™”λ˜μ–΄ μžˆμœΌλ―€λ‘œ 1208이 μ‹œμŠ€ν…œ μ„±λŠ₯ 상 보닀 μœ λ¦¬ν•˜λ‹€.

만일 Database와 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν™˜κ²½κ³Ό μ½”λ“œνŽ˜μ΄μ§€κ°€ 뢈일치되면 μžλ™ μ½”λ“œ νŽ˜μ΄μ§€ λ³€ν™˜μ΄ μΌμ–΄λ‚œλ‹€.Β  λ³€ν™˜ μž‘μ—…μ€ 데이터λ₯Ό λ°›λŠ” μͺ½μ—μ„œ μΌμ–΄λ‚˜λ©° 좔가적인 μžμ›μ‚¬μš©κ³Ό μ„±λŠ₯Β  μ €ν•˜κ°€ λ™λ°˜λœλ‹€.Β  즉 쑰회의 경우 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„œλ²„μ—μ„œ, μž…λ ₯의 경우 DBμ„œλ²„μ—μ„œ λ°œμƒλœλ‹€. 영ν–₯λ„λŠ” 쿼리에 따라 차이가 μžˆμœΌλ‚˜ 일반적으둜 짧은 OLTP 쿼리일 수둝 크닀.

λ”°λΌμ„œ DBμ„œλ²„μ™€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ½”λ“œ νŽ˜μ΄μ§€λŠ” μΌμΉ˜μ‹œν‚€λŠ” 것이 데이터 무결성 및 μ‹œμŠ€ν…œ 처리 μ„±λŠ₯ λͺ¨λ‘μ— λ°”λžŒμ§ν•˜λ‹€ ν• μˆ˜ μžˆλ‹€.