250x250
Notice
Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- AJAX
- Source
- Exception
- maven
- Python
- Thymeleaf
- Eclipse
- MSSQL
- jpa
- JDBC
- 오픈소스
- 설정
- spring
- 문서
- git
- Open Source
- oracle
- ubuntu
- IntelliJ
- PostgreSQL
- Core Java
- Docker
- STS
- MySQL
- Spring Boot
- error
- Tomcat
- SpringBoot
- myBatis
- JavaScript
Archives
- Today
- Total
헤르메스 LIFE
[Source] Unicode 1.2를 Unicode 2.0 으로 변환 본문
728x90
/**
* 현재 oracle 7 버전대는 unicode 1.2를 사용하고,
* oracle 8.1.5 버전부터 unicode 2.0을 사용합니다.
* 그리고 jdk1.2버전은 unicode 2.0을 사용하지요
* 그래서 oracle 8.1.5에서 읽어들인 한글은 보이지만,
* 7버전에서 읽어들인 한글은 unicode 버전차이로 ?표로 표시됩니다.
* 때문에 oracle 7버전에서 한글을 지원받으려면
* DB에서 read할때는 unicode 1.2를 2.0으로, DB로 write할때는 unicode 2.0을 1.2로
* conversion 해주는 class를 만들어서 import하여 사용하면 됩니다.
*
* UniCode 1.2 을 UniCode 2.0 로 변환
* @param uni12 변환할 문자 (UniCode 1.2)
* @return String 변환된 문자 (UniCode 2.0)
*/
public String convUni12ToUni20(String uni12) {
if (uni12 == null) return null;
int len = uni12.length();
char [] out = new char[len];
byte [] ksc = new byte [2];
for (int i = 0; i < len ; i++) {
char c = uni12.charAt(i);
if (c < 0x3400 || c > 0x4dff) {
out[i] = c;
} else if (c >= 0x3d2e) { // Unicode 1.2 한글 보충영역 A, B
out[i] = '\ufffd';
System.err.println ("Warning : Some of Unicode 1.2 Hangul Character was ignored.");
} else { // Unicode 1.2의 KSC5601 대응 한글 영역
try {
ksc[0] = (byte) ((c - 0x3400) / 94 + 0xb0);
ksc[1] = (byte) ((c - 0x3400) % 94 + 0xa1);
out[i] = new String(ksc, "KSC5601").charAt (0);
} catch (java.io.UnsupportedEncodingException ex) {
log(CLASS_NAME + ".convUni12ToUni20()","UniCode 2.0 변환을 실패했습니다."+ex.toString());
}
}
}
return new String (out);
}
728x90
'Core Java' 카테고리의 다른 글
| [DeveloperWorks] 평범한 Java 도구에 대해 모르고 있던 5가지 사항 (0) | 2010.12.30 |
|---|---|
| [Source] 배열값 정렬하기 (0) | 2010.10.20 |
| [Source] Unicode 2.0 을 Unicode 1.2 로 변환 (0) | 2010.10.20 |
| [Source] Character Set Conversion (0) | 2010.10.20 |
| [Source] String to Unicode (0) | 2010.10.20 |