php + mysql 에서 한글 인코딩 관련 질문입니다.

cococo의 이미지

아무 생각 없이 쓰다가, 생각해보니 이상해서 질문 올립니다.

현재, windows 에 WINAPM 7 을 설치해서 php 로 사이트를 개발중입니다.
디비에 값이 들어있는지를 확인하기 위해서는 phpMyAdmin 과 mysql console 을 둘 다 이용합니다.

사이트는 utf-8을 기본으로 해 놨습니다. 메타 선언도 utf-8 을 집어넣었고, 파일을 저장할때도 utf-8 로 저장합니다.

그러니, 당연히 input box 를 통해 입력받는 한글도 UTF-8 이라고 생각하고 있습니다.

windows 에서 실행하는 mysql console 은 기본 설정값이 cp949 이니, 글씨가 깨져나와도 크게 걱정하지 않습니다. 콘솔에서 디비 까 봐서 UTF-8 로 되어 있는걸 CP949 로 보면 깨지는 게 당연할 테니까요.
헌데, HTML 기반인 PHPMYADMIN 으로 로컬( LOCALHOST ) 에 접속해 디비를 까봐도 글씨가 깨져 보입니다. 이거... 좀 이상한거 아닌가요?

그러니까, 데이터 입력 UI 역할을 하는 INPUT.PHP 는, meta 정보에 charset=utf-8 을 설정해 놨으니까,
1. 한글 입력은 utf-8 인코딩으로 서버에 넘어오겠죠?
2. 그럼 그 한글 데이터를 post로 가져와서 db 에 넣으면, utf-8로 서버 디비에 들어갈 테구요.
3. 그걸 mysql console 로 보면야, cp949 코딩이니까 깨질텐데
4. 왜 meta 정보에 charset=utf-8 설정이 되어 있는 http://127.0.0.1/phpMyAdmin/ 에서도 한글이 깨지느냐... 하는 겁니다.

웹 화면에는 한글이 안 깨져 나옵니다만, php my admin 화면에는 깨져 나옵니다. 이게 하나 이상한 거구요.

제가 cafe24에 웹서비스 신청 > 한글 입력 > export > 로컬PC에 설치한 mysql 에 import 해 봤습니다.
그러니까, 로컬의 phpmyadmin 에서는 한글이 안 깨져 보이는데 html 에서는 깨져 나옵니다.

이거... 아무리 생각해도 이상합니다. local 의 phpMyAdmin 에는 meta 정보에 charset=utf-8 이 설정되어 있는데,
거기서 제대로 나오는 한글 문자열이
meta 정보에 charset=utf-8 이 설정된 localhost 의 html page 에서는 깨져 나온다는게 이상입니다.

이상입니다.
다시 한 번 정리하면
1. 데이터 입력 UI 역할을 하는 INPUT.PHP 와, 웹 기반 디비 조회 툴인 phpMyAdmin 는, 둘 다 meta 정보에 charset=utf-8 가 설정되어 있는데
2. input.php 을 비롯한 다른 html 에서는 안 깨지는 한글이
3. http://127.0.0.1/phpMyAdmin/ 에서는 한글이 깨지느냐... 하는 겁니다.

혹시 비슷한 내용을 겪으셨던 분이나 의견이 있으신 분은, 답변 주시면 감사하겠습니다. 이상입니다.

OoOoOo의 이미지

쿼리 입력하기 전에
SET NAMES utf8
먼저 입력해 보세요.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.