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
운영게시판
최근게시물
MySQL Q&A 26934 게시물 읽기
No. 26934
고질적인 한글 문제 아~~~
작성자
ajck
작성일
2007-08-09 18:42
조회수
2,698

안녕하세요.

이것 저것 검색 해보았는데 잘 모르겠습니다.

이제껏  그럭 저럭 잘 써왔는데요..

SMS 시스템 디비가 Mysql 입니다.   여기에 sms 내용을 입력 해야 합니다.
해당 테이블을 Tool(SQLyog)  을 사용해서 검색해보면  테이블의 입력 정보들이 잘 보입니다. 물론 한글도 입력한 한글 그대로 잘 보입니다

그런데 제가 java 소스를 작성했습니다.
잘 입력되고 메세지도 잘 도착 했습니다. 그러나 메세지가 "'SMS 테스트입니다'" 가 ==> "'SMS???????" 로 나옵니다
디비를 확인해봐도 역시 "SMS??????"  입니다.

왜그런 가요?  수정 할수 있나요? 도와주세요..

 --- . 디비의 캐릭터 설정 값, 버전은 확인 안되고 있습니다.
 ---. java 는 제 노트북에서 실행하였습니다.
----. 기존에 쓰시던 분들은 시스템내에서 (unix) 바로 mysql 명령어 호출해서(shell 을 만들어서리)  값을 입력한다고 합니다.
(

예)
>mysql -h smssvr -u sms -psms sms
insert into sms
(sm_indate,sm_sdmbno,sm_rvmbno,sm_msg,sm_firstck,sm_status,sm_errcnt)
values(now(),'$v_admtel','0260002709','$hostname:$sms_msg','0','0','0');\n")

)


----------------------------------------------------------------------
import java.sql.*;
public class Test
{
public static void main( String args[] )
{
  Connection connection = null;
  Statement stmt = null;
    try
       {
        Class.forName( "org.gjt.mm.mysql.Driver").newInstance();
        connection = DriverManager.getConnection( "jdbc:mysql://xxx.xxx.xxx.xxx/sms_test", "test", "test" );
        try{
              stmt = connection.createStatement();
              String SQL = "insert into sms (sm_indate,sm_sdmbno,sm_rvmbno,sm_msg,sm_firstck,sm_status,sm_errcnt) ";
              SQL = SQL + " values(now(),'017xxxxxx','0212345678','SMS 테스트입니다','0','0','0') ";
              stmt.executeUpdate(SQL);
              System.out.println( "Success Message Insert " );
              }
              catch(Exception e){
              e.printStackTrace();
              }
        connection.close();
        }
    catch( Exception e )
   {
    System.out.println( "error------->>>>>" + e );
    }
  }
}

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

mysql에는 코드체계를 임시로 바꾸는 방법으로 사용하실 수 있읍니다.

자바의 경우 주로 urtf8이나 유니코드를 쓰는데

mysql에는 좀더 자유롭게 코드가 들어있죠

이것을 convert 같은 함수를 이용해서 임시로 코드를 변경시킬 수 있읍니다.

CONVERT(blob_col USING latin1) 와 같이 말이죠

데이터를 변환해서 읽어들이는 방식을 사용하시면 도움이 될거 같네요

뭐 자바쪽에서 변환해서 사용하는 방법도 있을테구요

골빈당님이 2007-08-10 14:32에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
26937Mysql 5.0.22버전 한글깨지는데 설정법 좀 알려주세요 [1]
jun
2007-08-10
2267
26936load infile-> txt 로 하는 중에 살짝 문제가! [1]
강다래
2007-08-10
1841
26935두개의 MySQL 데몬이 돌때 php에서 디비 접근은?? [2]
김주홍
2007-08-09
1816
26934고질적인 한글 문제 아~~~ [1]
ajck
2007-08-09
2698
26932어떻게 쿼리하는게 좋을지 도움 바랍니다. [2]
보리나무
2007-08-09
1804
26930mysql 5.0.18 -> mysql 5.0.44로의 이전, utf8, 한글깨짐, charset [3]
김주홍
2007-08-08
3502
26929LINUX상의 MySQL를 통해서 ... [1]
궁금해
2007-08-08
1699
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다