linux 환경에서 UTF-8로 소스를 코딩하려고 합니다. 지금까지는 그냥 ansi로만 했었는데 UTF-8 문자열을 어떻게 사용해야 하는지 몰라서요
함수랑 변수 Type을 다 변경해야 하나요? DB에서 값을 가지고와서도 어떻게 해야하는지 좀 막막해서요 도움 좀 부탁드리겠습니다.
바꿀게 없는 것 같은데요;
DB 값이 utf8이 아니라면 값만 utf8로 바꾸면 되겠구요.
작업 내용을 얘기해주시면 좀 더 도움이 될지도 모르겠어요.
Client에서 UTF로 문자가오면 값을 DB에 넣어야 하고요 DB는 UTF8로 되어 있습니다. UTF8의 문자를 읽어서 DB에 넣으면 DB에 한글이 깨져서 들어가지네요
Mysql을 이용하는데요 Mysql제공 함수를 이용하면서 sprintf로 Query를 만든후에 DB에 Insert나 Update를 하고 있습니다. 그때에 UTF8로 들어온 한글이 깨져서 입력되고요
또, DB에 입력되어 있는 한글을 읽어서 printf로 확인하면 한글이 깨져서 보입니다.
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
이 문서와 연관이 있을 것 같습니다.
-- 오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~ 나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
환경 설정하는걸 소개하는 내용같은데요(해석을 잘못했나? 쩝 영어가 좀 딸려서 ㅎㅎㅎ) 환경은 UTF8로 사용을 계속 해야하거든요
값을 가지고 오고 넣을때 값이 제대로 들어가야하는걸 찾고 있습니다. mysql_real_query 함수를 사용하는데 인자값이 char* 이거든요
클라이언트에서 받아오는 데이터가 utf8이고
mysql도 utf8로 설정되어 있고
장비로케일도 utf8 이면
받은 데이터를 char *로 잡아다가 하신 것처럼 sprintf로 쿼리 생성하고
날리면 되야되는데;;;
받아온 데이터를 가공하는 과정이 없다면 설정문제라고 밖에는 볼 수 가 없네요;
utf8은 문자갯수 구하는 정도 빼면 아스키 처리하는 거랑 다를게 없는데 이상하군요;;
별도움이 안되네요... (__)
네, Mysql 설정을 다시 찾아보고 Table마다 확인해봤는데 이전에 EUCKR로 되어 있던 Table이 있더군요
감사합니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
바꿀게 없는 것
바꿀게 없는 것 같은데요;
DB 값이 utf8이 아니라면 값만 utf8로 바꾸면 되겠구요.
작업 내용을 얘기해주시면 좀 더 도움이 될지도 모르겠어요.
DB의 값이 UTF8입니다.
Client에서 UTF로 문자가오면 값을 DB에 넣어야 하고요
DB는 UTF8로 되어 있습니다.
UTF8의 문자를 읽어서 DB에 넣으면 DB에 한글이 깨져서 들어가지네요
Mysql을 이용하는데요 Mysql제공 함수를 이용하면서
sprintf로 Query를 만든후에 DB에 Insert나 Update를 하고 있습니다.
그때에 UTF8로 들어온 한글이 깨져서 입력되고요
또, DB에 입력되어 있는 한글을 읽어서 printf로 확인하면
한글이 깨져서 보입니다.
http://dev.mysql.com/doc/refm
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
이 문서와 연관이 있을 것 같습니다.
--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
mysql 환경 설정같네요
환경 설정하는걸 소개하는 내용같은데요(해석을 잘못했나? 쩝 영어가 좀 딸려서 ㅎㅎㅎ)
환경은 UTF8로 사용을 계속 해야하거든요
값을 가지고 오고 넣을때 값이 제대로 들어가야하는걸 찾고 있습니다.
mysql_real_query 함수를 사용하는데 인자값이 char* 이거든요
클라이언트에서
클라이언트에서 받아오는 데이터가 utf8이고
mysql도 utf8로 설정되어 있고
장비로케일도 utf8 이면
받은 데이터를 char *로 잡아다가 하신 것처럼 sprintf로 쿼리 생성하고
날리면 되야되는데;;;
받아온 데이터를 가공하는 과정이 없다면 설정문제라고 밖에는 볼 수 가 없네요;
utf8은 문자갯수 구하는 정도 빼면 아스키 처리하는 거랑 다를게 없는데 이상하군요;;
별도움이 안되네요... (__)
해결되었습니다.
네, Mysql 설정을 다시 찾아보고 Table마다 확인해봤는데
이전에 EUCKR로 되어 있던 Table이 있더군요
감사합니다.
댓글 달기