gcc환경에서 UTF-8 코딩

bueline의 이미지

linux 환경에서 UTF-8로 소스를 코딩하려고 합니다.
지금까지는 그냥 ansi로만 했었는데
UTF-8 문자열을 어떻게 사용해야 하는지 몰라서요

함수랑 변수 Type을 다 변경해야 하나요?
DB에서 값을 가지고와서도 어떻게 해야하는지
좀 막막해서요
도움 좀 부탁드리겠습니다.

obbaya의 이미지

바꿀게 없는 것 같은데요;

DB 값이 utf8이 아니라면 값만 utf8로 바꾸면 되겠구요.

작업 내용을 얘기해주시면 좀 더 도움이 될지도 모르겠어요.

bueline의 이미지

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 ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

bueline의 이미지

환경 설정하는걸 소개하는 내용같은데요(해석을 잘못했나? 쩝 영어가 좀 딸려서 ㅎㅎㅎ)
환경은 UTF8로 사용을 계속 해야하거든요

값을 가지고 오고 넣을때 값이 제대로 들어가야하는걸 찾고 있습니다.
mysql_real_query 함수를 사용하는데 인자값이 char* 이거든요

obbaya의 이미지

클라이언트에서 받아오는 데이터가 utf8이고

mysql도 utf8로 설정되어 있고

장비로케일도 utf8 이면

받은 데이터를 char *로 잡아다가 하신 것처럼 sprintf로 쿼리 생성하고

날리면 되야되는데;;;

받아온 데이터를 가공하는 과정이 없다면 설정문제라고 밖에는 볼 수 가 없네요;

utf8은 문자갯수 구하는 정도 빼면 아스키 처리하는 거랑 다를게 없는데 이상하군요;;

별도움이 안되네요... (__)

bueline의 이미지

네, Mysql 설정을 다시 찾아보고 Table마다 확인해봤는데
이전에 EUCKR로 되어 있던 Table이 있더군요

감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.