database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 754 게시물 읽기
No. 754
Q.[UTF-8]로 일본어 출력
작성자
김남진
작성일
2007-12-03 03:53
조회수
4,004

안녕하세요.

 

한글과 일어를 같이 쓰고 싶어 UTF-8을 이용하려 합니다.

우선 \'江戸川区(애도가와구)\'를 입력하고 출력하는 간단한 소스를 만들어 테스트 해봤는데,

일본어의 두번째 네번째 글자가 ?로 출력되네요.

당연한 얘기겠지만 한글빼고 일어만 입력해도 같은 결과입니다.

어떻게하면 안깨질까요?

 

큐브리드에 특별히 언어 설정이 없고 그냥 입력한대로 들어간다는 글 보았습니다.

이클립스 편집기 환경도 UTF-8이고...

큐브리드메니져 - 도구 - 질의 편집기 옵션 - 캐릭터셋 UTF-8로 설정하고 조회해봐도 같은 결과입니다.

 

== 환경 ==

우선 디비 테이블명은 table1이고, 컬럼은 address VARCHAR(100)만 하나 있습니다.

컨넥션 풀 설정 되어있고 잘 작동합니다.

dba계정으로 접속중입니다.

 

testCubrid.jsp 소스

=================================================================================

 

<%@ page contentType=\"text/html; charset=utf-8\"%>

<%@ page import=\"java.sql.*\" %>

<%@ page import=\"javax.sql.*\" %>

<%@ page import=\"javax.naming.*\" %>

 

<%

        Connection   conn = null;

        Statement    stmt = null;

        ResultSet    rs = null;

  

        try{

                Context initContext = new InitialContext();

                DataSource ds = (DataSource) initContext.lookup(\"java:comp/env/jdbc/CUBRIDDS\");

        

                conn = ds.getConnection();

                stmt = conn.createStatement();

                

                //### 데이터 베이스에 자료 입력 ###

                String str = \"江戸川区(애도가와구)\";

                String strEnc = new String(str.getBytes(\"8859_1\"),\"UTF-8\");

 

                String sql1 = \"INSERT INTO table1( address ) VALUES( \'\" + str + \"\' )\";

                String sql2 = \"INSERT INTO table1( address ) VALUES( \'\" + strEnc + \"\' )\";

                

                stmt.executeUpdate(sql1);

                stmt.executeUpdate(sql2);

 

                //### 화면 출력 ###

                rs = stmt.executeQuery(\"select * from table1\" );

                

                while(rs.next()){

                        String address = rs.getString(\"address\");

                        //String addressEnc = new String(address.getBytes(\"8859_1\"),\"UTF-8\"); //이놈으로 출력하면 두값 모두 ????(?????)로 출력됨.

                        

                        out.print( address );

                        out.println(\"<br/>\");

                }

 

        }catch(Exception e){

                e.printStackTrace();

        }finally{

                rs.close();

                stmt.close();

                 conn.close();

        }

 

%>

 

=================================================================================

 

토요일, 일요일 여기 Q/A게시판에 접속 안되더군요.

덕분에 일요일 확 놀아버렸지만... ^^

 

꼭 좀 해결해 주세요.

제 짧은 지식으로는 모르겠습니다.

이 글에 대한 댓글이 총 1건 있습니다.

was의 DataSource의 Parameter인 url부분의 설정에 charset=UTF-8을 추가하시변 해결됩니다.

tomcat의 설정을 예로 들면 server.xml파일에 url을

url=\"jdbc:cubrid:localhost:33000:subway:::charset=UTF-8\" 과 같이 설정하시고 tomcat을 재시작하시면 설정이 적용됩니다.

 

 

>안녕하세요.

>

>한글과 일어를 같이 쓰고 싶어 UTF-8을 이용하려 합니다.

>우선 \'江戸川区(애도가와구)\'를 입력하고 출력하는 간단한 소스를 만들어 테스트 해봤는데,

>일본어의 두번째 네번째 글자가 ?로 출력되네요.

>당연한 얘기겠지만 한글빼고 일어만 입력해도 같은 결과입니다.

>어떻게하면 안깨질까요?

>

>큐브리드에 특별히 언어 설정이 없고 그냥 입력한대로 들어간다는 글 보았습니다.

>이클립스 편집기 환경도 UTF-8이고...

>큐브리드메니져 - 도구 - 질의 편집기 옵션 - 캐릭터셋 UTF-8로 설정하고 조회해봐도 같은 결과입니다.

>

>== 환경 ==

>우선 디비 테이블명은 table1이고, 컬럼은 address VARCHAR(100)만 하나 있습니다.

>컨넥션 풀 설정 되어있고 잘 작동합니다.

>dba계정으로 접속중입니다.

>

>testCubrid.jsp 소스

>=================================================================================

>

><%@ page contentType=\"text/html; charset=utf-8\"%>

><%@ page import=\"java.sql.*\" %>

><%@ page import=\"javax.sql.*\" %>

><%@ page import=\"javax.naming.*\" %>

>

><%

>        Connection   conn = null;

>        Statement    stmt = null;

>        ResultSet    rs = null;

>  

>        try{

>                Context initContext = new InitialContext();

>                DataSource ds = (DataSource) initContext.lookup(\"java:comp/env/jdbc/CUBRIDDS\");

>        

>                conn = ds.getConnection();

>                stmt = conn.createStatement();

>                

>                //### 데이터 베이스에 자료 입력 ###

>                String str = \"江戸川区(애도가와구)\";

>                String strEnc = new String(str.getBytes(\"8859_1\"),\"UTF-8\");

>

>                String sql1 = \"INSERT INTO table1( address ) VALUES( \'\" + str + \"\' )\";

>                String sql2 = \"INSERT INTO table1( address ) VALUES( \'\" + strEnc + \"\' )\";

>                

>                stmt.executeUpdate(sql1);

>                stmt.executeUpdate(sql2);

>

>                //### 화면 출력 ###

>                rs = stmt.executeQuery(\"select * from table1\" );

>                

>                while(rs.next()){

>                        String address = rs.getString(\"address\");

>                        //String addressEnc = new String(address.getBytes(\"8859_1\"),\"UTF-8\"); //이놈으로 출력하면 두값 모두 ????(?????)로 출력됨.

>                        

>                        out.print( address );

>                        out.println(\"<br/>\");

>                }

>

>        }catch(Exception e){

>                e.printStackTrace();

>        }finally{

>                rs.close();

>                stmt.close();

>                 conn.close();

>        }

>

>%>

>

>=================================================================================

>

>토요일, 일요일 여기 Q/A게시판에 접속 안되더군요.

>덕분에 일요일 확 놀아버렸지만... ^^

>

>꼭 좀 해결해 주세요.

>제 짧은 지식으로는 모르겠습니다.

 

손승일님이 2007-12-03 13:58에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
758Q.apctools 로 설치후 문제 발생 [1]
손무성
2007-12-04
3886
757Q.데이터베이스 다만들고 그걸 딴곳에서 사용하고 싶어요 [1]
권기둥
2007-12-04
5050
755Q.큐브리드에서 데이터 가져오기 질문드립니다. [1]
박유나
2007-12-03
3904
754Q.[UTF-8]로 일본어 출력 [1]
김남진
2007-12-03
4004
753Q.cubrid 설치시. [1]
루피s
2007-12-02
3647
751Q.여전히 연결 문제입니다.. [1]
조은혜
2007-11-30
3656
750Q.큐브리드 데이터베이스 복구 관련 문의입니다. [2]
김남우
2007-11-29
3388
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다