한글을 입력받아 한글을 리턴하는 CUBRID JAVA StoredProcedure 작성시 window 환경에서 리턴 값이 깨져서 출력 됨

by 두목원슝 posted Mar 22, 2023


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
WindowServer 2012 64bit
CUBRID Ver.
CUBRID 11.2 (11.2.2.0705-4ea991d) (64bit release build for Windows) (Oct 28 2022 16:12:09)
CUBRID TOOL Ver.
cmd
응용 환경(API)
java


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

 

아래와 같은 함수를 만들어 한글을 입력 하면 linux 에서는 한글이 정상적으로 출력되나 window에서는 한글이 다 깨져서 출력됩니다.
 

# create function - java

public static String JavaCharTest (String inS)

{

   return inS;

}

 

# create function - sql

CREATE FUNCTION CHAR_TEST (

   I_DATA     VARCHAR(2000)

)

   RETURN VARCHAR(4000)

AS

   LANGUAGE JAVA

   NAME 'TestData.JavaCharTest( java.lang.String ) return java.lang.String';

 

# charset 조회

csql> select charset('testdb');

=== <Result of SELECT Command in Line 1> ===

   charset('testdb')
======================
  'iso88591'
 

# collation 조회

csql> SELECT COLLATION('testdb');

=== <Result of SELECT Command in Line 1> ===

   collation('testdb')
======================
  'iso88591_bin'
 

# jvm encording

* System.getProperty("file.encoding") 호출

 

csql> select ENCORDING_TEST();

=== <Result of SELECT Command in Line 1> ===

  ENCORDING_TEST()
======================
  'UTF-8'
 

위의 모든 조건이 linux, windowserver가 동일 함에도 windowserver 환경에서만 한글이 깨져 출력됩니다.

제가 더 확인 해 볼 수 있는 사항이 있을까요?

한글 깨짐 결과 아래에 첨부 해 드립니다.

 

@ linux

csql> select CHAR_TEST('한');

=== <Result of SELECT Command in Line 1> ===

  CHAR_TEST('한')
======================
  '한'
 

@ windowserver

csql> select CHAR_TEST('한');

=== <Result of SELECT Command in Line 1> ===

  CHAR_TEST('한')
======================
  '占쏙옙'

 

혹시 궁금해 하실까봐 LINUX쪽 os 및 cubrid 버전 정보도 첨부 합니다.

OS : Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

CUBRID : CUBRID 11.2 (11.2.2.0705-4ea991d) (64bit release build for Linux) (Oct 28 2022 16:13:18)

JAVA : openjdk version "1.8.0_322"

 


Articles

1 2 3 4 5 6 7 8 9 10