Q&A

  • mysql과 zeos연동시 한글 데이타 입력에 문제가


이거 또 질문입니다
하나를 해결하면 또 다른 문제가 나타나는군요
초보를 벗어나지 못해서..

필드중에서 한글을 입력해야 하는 경우 (여기서는 name)
insert 에러가 나타나는군요
name에 한글 대신에 영문을 입력하면 insert가 됩니다
한글 지원문제인것 같은데 mysql설치시 default-character-set=euckr로 했습니다
이걸 latin1으로 바꿔보기도 하고 utf8로 바꿔보기도 했지만 여전합니다
한글 이름이나 주소를 데이타로 입력해야할 경우가 많을텐데
경험자들은 어떻게 쓰고계신지요
델파이7 zeos6.1.. mysql5.0..입니다

다음은 테스트 소스입니다

<!--CodeS-->
var id1,passwd1,name1,phone1, email1, make_sql,insert_sql : String;

  make_sql := 'CREATE TABLE user_data (';
  make_sql := make_sql + ' id varchar(8), passwd varchar(8),name varchar(20)  ';
  make_sql := make_sql + ' ,phone varchar(20), email varchar(120) binary';
  make_sql := make_sql + ' ,PRIMARY KEY(id))';

  query1.Sql.Clear;
  query1.Sql.Add(make_sql);
  try
    query1.ExecSql;
    memo1.lines.Add(' user_table 테이블생성 ');
  except
    on E: Exception do
      Application.MessageBox('테이블 생성이 실패했습니다.  ','연결 실패', MB_OK or MB_ICONERROR);
  end;


  id1  := 'peace789';
  passwd1 := 'passwd';
  name1:='김평구';
  phone1:='011-111-1111';
  email1:='peace789@hanmail.net';
  insert_sql := 'INSERT INTO user_data (id,passwd ,name,phone,email) VALUES (';
  insert_sql := insert_sql + '''' + id1 + '''' +','+''''+passwd1+''''+',';
  insert_sql := insert_sql + '''' + name1+ '''' +','+''''+ phone1+''''+',';
  insert_sql := insert_sql + '''' + email1+''''+');';


  query1.Sql.Clear;
  query1.Sql.Add(insert_sql);

  try
    query1.ExecSql;
  except
    showMessage(' 입력 에러 ');
  end;

<!--CodeE-->
2  COMMENTS
  • Profile
    이경애 2008.03.13 18:31
    여기저기 싸이트와 네이버 지식이나 다음 신지식등등을 돌아다니며
    물어보고 자료를 찾아보았는데
    도움을 전혀 얻지 못햇습니다
    한결같이 character를 euckr로 하면 된다는데 안되었습니다
    네이버 지식IN을 수십개 뒤지고 나서야 마지막으로 찾아낸 자료에 따라
    character-set-client-handshake = FALSE를 my.ini에 등록하고 나니
    한글 문제가 해결되더군요

    딴 사람들은 이렇게 안해도 잘돼던것 같은데
    나는 왜 그렇게 안되었던걸까요?
    character-set-client-handshake = FALSE가 어떤 의미일까요?
    handshake는 사전으로는 응답,악수의 뜻이 있는데요
  • Profile
    머문자리 2008.03.13 18:45
    고생하셨네요..
    4.x버전 이상에서 utf-8형식을 지원하기 때문에 문제가 일어난 거였네요..

    문제점이 무엇인지 저도 궁금해하고 있었는데.. 자답 감사합니다.

    • 이정훈
    • 2008.03.12 23:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.13 18:45
      질문이 좀 애매하군요. 컴포넌트를 올려두고 컴파일하면 에러가난다는 것인지... 코딩으로 사용하면 ...
    • 이명은
    • 2008.03.12 22:54
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 머문자리
      2008.03.13 01:31
      혹시 제가 아는 이명은(kh정보교육원 Database&보안전문가 과정)이 아닌지 모르겠습니다. update문은 DB에...
    • nilriri™
      2008.03.14 00:29
      ExecSQL 의 리턴값을 보시면 integer형입니다. 처리된 결과 행의 갯수입니다. 즉 인서트 문이면 인서...
    • 머문자리
      2008.03.14 01:35
      그렇군여.. 괜히 쓸데없는 답변을 했다는 느낌이 드네요.. <!--CodeS--> var   DML_n...
    • 이명은
      2008.03.14 01:43
      두분 모두 감사해요.. ^^ 생각지도 못한 답글이 이렇게 많이 생길줄이야.. ExecSQL의 리턴값이있을거란 ...
    • 이명은
      2008.03.13 23:23
      ^^ 네 맞습니다.
    • 이정훈
    • 2008.03.12 20:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.13 02:49
      GetFileVersion(AFileName); 파일 버전을 비교하세요.
    • 소울해커
      2008.03.13 02:48
      Query1.RecordSet.RecordCount 이상없습니다만...?
    • 이정훈
      2008.03.13 04:26
      이렇게 코딩했는데 -1이 나옵니다. Rcount.caption:= inttostr(Query1.RecordCount); 틀린부분 있...
    • nilriri™
      2008.03.14 00:37
      BDE 의  TQuery컴포넌트일 경우에는.. AfterOpen이벤트에서 TQuery(DataSet).FetchAll;을 해...
    • 임형호
      2008.03.13 18:26
      Query.Last; 이후에 recordcount를 다시구해보세요.
    • 이경애
    • 2008.03.12 04:30
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이경애
      2008.03.13 18:31
      여기저기 싸이트와 네이버 지식이나 다음 신지식등등을 돌아다니며 물어보고 자료를 찾아보았는데 도움을...
    • 머문자리
      2008.03.13 18:45
      고생하셨네요.. 4.x버전 이상에서 utf-8형식을 지원하기 때문에 문제가 일어난 거였네요.. 문제점이 무...
    • 정경철
    • 2008.03.11 23:44
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 백록화
      2008.03.12 01:00
      델파이 7 에는 다음과 같은 디렉토리에 있습니다. 델파이설치디렉토리\imports 에는 dcu 파일이.. &...
    • 정경철
      2008.03.12 16:22
      감사 합니다.
    • 임형호
      2008.03.11 22:28
      크리스탈 관련질문이시죠? Crpe1.ReportName := 풀패스; Crpe1.Excute; 이렇게하심.. ReportName에...
    • 신민철
      2008.03.11 23:13
      "풀패스"를 레포트 경로값을 놓었더니 화면이 나오긴 나오는데 폼안에 나오지않고 따로 나오네요......
    • 임형호
      2008.03.13 18:33
      네.. 폼이 따로 생성되서 보여집니다. 폼안에 나오게 할려면...  가령 폼안에 Panel을 놓고.. ...
    • 신민철
      2008.03.11 22:36
      감사합니다. 이제 델파이 시작했거든요... 암튼 고맙습니다.  즐코하세요...^^
    • 후초보
    • 2008.03.11 20:19
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2008.03.11 22:36
      - 일단 1번, 3번에 대해서 말씀을 드리면요. CashedUpdate를 사용하는 경우는 사용자가 Commit 시점을 지정...
    • 후초보
      2008.03.12 01:00
      답변 감사드립니다. 그런데 어느시점에 Commit 을 해야 하는지 모르겠습니다. 또한 레코드가 추가되는 시...
    • 깔쌈보이
      2008.03.11 20:50
      기본값이 0인 가상의 컬럼을 하나 만듭니다. 그래서 해당 필드가 바뀌면 가상의 컬럼에 1을 줍니다. 그...
    • 후초보
      2008.03.12 01:02
      답변 감사드립니다. 가상칼럼은 테이블과 상관이 없는건데 이것또한 어떤 시점에 Post를 해야 하는건지......
    • 깔쌈보이
      2008.03.13 17:58
      언바운드 모드로 작업하시구요... 저장 버튼을 따로 만들어서 Post 또는 Commit 하심이 어떨런지요.
    • KDDG_Hit
    • 2008.03.11 19:59
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 채기웅
    • 2008.03.11 19:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2008.03.11 22:42
      그리드의 타이틀이라는게 컬럼(퀀텀에서는 ITem)의 타이틀을 의미하시는건가요? 버전별로 차이가 있는...
    • 소울해커
      2008.03.11 20:07
      상용 그리드는 프로퍼티에 정렬 관련 옵션들이 있을겁니다. 딱히 눈에 띄는게 없다면 셀클릭 이벤트나 M...
    • 임형호
      2008.03.11 19:05
      여러가지 방법이 있겠지만요. 일단 가장 간단한 방법은.. 1. 크리스탈레포트 파일을 생성합니다. (...
    • 신민철
      2008.03.11 20:26
      Excite 메소드 호출 방법 말고 다른 방법은 없나요.?? 많은 도움을 주셔서 감사합니다. 델파이 왕...
    • 임형호
      2008.03.11 22:23
      다른방법이라 하심은 어떤걸 말씀하시는건가요? 본인이 하고자하는 방식이나.. 내용들을 구체적으로 말씀...
    • 이경애
    • 2008.03.11 04:38
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 고영호
      2008.03.11 05:18
      저는 Zeos 6.1.5 버젼을 사용하고 있습니다만, 님께서는 몇버젼을 사용하고 계시는지 모르겠네요. //Z...
    • 이경애
      2008.03.11 18:52
      답변 감사드립니다 그런데 님께서 손을 본대로 고쳤는데도 마찬가지 결과가 나오는군요 저도 Zeos 6.1.5...
    • 고영호
      2008.03.11 20:11
      수고하시네요...^^ 혹 query1 콤포넌트 속성(Properties)중 Connection에  ZConnection1을 선...
    • 이경애
      2008.03.11 20:24
      뭐든지 처음에 하면 이렇듯 곤란을 겪는군요 바로 해결이 되엇습니다 감사합니다 이런건 처음부터 알수있...
    • 후초보
    • 2008.03.11 04:23
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 깔쌈보이
      2008.03.11 17:56
      속성 조절 및 컴포넌트의 원소스를 일부 수정하거나 어플의 소스부분에서 컴포넌트 부분을 수정하거나 등등...
    • 후초보
      2008.03.11 19:53
      고맙습니다. 어제 새벽까지 이것 저것 해보다가 버젼을 바꿔어 볼려고 합니다. 실력이 없는탓에 기존에 것...
    • 김소연
    • 2008.03.11 04:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.11 19:55
      Dialogs 탭에 OpenPictureDialog란걸 써보세요.
    • 임형호
      2008.03.11 05:14
      제가 알기로는 이전버전에는 크리스탈 설치하면 특정폴더위치에 있었는데.. 이건 어디있는지 영 못찾겠네요...
    • 신민철
      2008.03.11 06:58
      고수님... 진짜 진짜 감사합니다. 덕분에 즐코 하게 됐습니다..^^
    • 하얀돌
    • 2008.03.11 03:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.11 19:53
      질문이 잘 이해되질 않습니다. 축소 확대를 바라시네요. 축소 확대를 바라시지 않는군요. ㅡ_ㅡ
    • 권두혁
    • 2008.03.11 02:40
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.11 19:50
      program Project2; //정수를 입력받아 등급을 출력 {$APPTYPE CONSOLE} uses   SysUtils, ...
    • 권두혁
      2008.03.12 18:25
      감사합니다~! ^^
    • 김소연
    • 2008.03.11 00:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.11 19:45
      sText := 'abcd1234ABCD'; function IsAlpha(const sText: String): Boolean; var i: Integer; begin ...
    • 임형호
      2008.03.11 01:05
      설치방법은 문서참조하세요.   전에 설치하던거 정리해놓은 문서입니다.
    • 신민철
      2008.03.11 02:31
      죄송합니다. 설치방법은 잘보았지만 .. component 에 dcl7cr11.dpk 파일이 없습니다. 좋은 가...
    • 신민철
      2008.03.11 01:16
      고맙습니다. 설치방법을 참조하겠습니다. 즐코 하겠습니다.^^