이거 또 질문입니다
하나를 해결하면 또 다른 문제가 나타나는군요
초보를 벗어나지 못해서..
필드중에서 한글을 입력해야 하는 경우 (여기서는 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-->
물어보고 자료를 찾아보았는데
도움을 전혀 얻지 못햇습니다
한결같이 character를 euckr로 하면 된다는데 안되었습니다
네이버 지식IN을 수십개 뒤지고 나서야 마지막으로 찾아낸 자료에 따라
character-set-client-handshake = FALSE를 my.ini에 등록하고 나니
한글 문제가 해결되더군요
딴 사람들은 이렇게 안해도 잘돼던것 같은데
나는 왜 그렇게 안되었던걸까요?
character-set-client-handshake = FALSE가 어떤 의미일까요?
handshake는 사전으로는 응답,악수의 뜻이 있는데요