database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29465 게시물 읽기
No. 29465
DB를 UTF-8로 설치 후 show variables 로 확인하면 latin 이?
작성자
조현철
작성일
2009-12-11 13:42
조회수
7,159

아래 박현우님 답변 감사드립니다.

이제 거의 마무리 단계인데, 한가지 더 문제가 있습니다.
분명히 MSI 버전의 mysql 5.1을 정상적으로 설치했고, 디폴트 캐릭을 utf-8로 했습니다.
기존의 euc-kr이던 데이터도 잘 변환해서 넣었구요, PHP 소스도 모두 UTF-8로 인코딩 했고, meta 정보 표기도 utf-8로 정확히 했습니다.

근데, 게시판에서 DB 내용을 읽어오니 글자가 다 깨지더군요.
정보를 검색해 보다가 아래의 쿼리로 현재 캐릭 세팅상태를 확인하는 방법이 있더라구요.

mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value     |
+--------------------------+----------------------------+
| character_set_client     | latin1     |
| character_set_connection | latin1     |
| character_set_database   | utf8     |
| character_set_filesystem | binary     |
| character_set_results    | latin1     |
| character_set_server     | utf8     |
| character_set_system     | utf8     |
| character_sets_dir       | C:/MySQL5.1/share/charsets/ |
+--------------------------+-----------------------------+
8 rows in set (0.00 sec)

보시는 바와 같이 일부는 uft8, 일부는 latin1 으로 되어 있습니다.

PHP에서 mysql_query("set names utf8") 이라는 코드를 삽입하고 DB 읽고 쓰기에 지장없이 만들긴 했습니다만, 왠지 찜찜합니다.

@@@@@ 여기서 질문입니다. @@@@@@
PHP에서 mysql_query("set names utf8") 코드를 삽입하지 않고 DB 한글 내용을 잘 읽어 오려면 show variables 명령으로 확인되는 캐릭셋을 모두  utf-8로 변환해야 한다는 결론이 나오는데...
어떻게 변환하는거죠?
(my.ini 와는 상관없더군요.)

이 글에 대한 댓글이 총 1건 있습니다.

안녕하세요 박성원입니다. 


Mysql 에서는 캐릭터셋을 여러가지 방법으로 적용해서 사용할 수 있습니다. 


file Server 즉, mysql이 설치된 OS단에서 사용하는 캐릭터셋이나 clinet 원격지에서 접속해서
사용하는 환경에서의 캐릭터셋을 지정할 수 있는것이지요 


질문하신 글을 보니 UTF8로 변경하시는거 같은데요 

말씀하신 SET Name utf8은 클라이언트에서 서버로의 세팅을 강제로 UTF8로 접속한 세션에서만
강제로 바꾸는 명령입니다. 

즉, my.cnf 파일에 
[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character-set-server=utf8

[mysql]
default-character-set=utf8

이부분을 세팅하면 결과적으로 매번 set names 쿼리를 수행하지 않아도
캐릭터셋은 고정되어 보여지게 됩니다. 


ini와 상관이 있쬬 ^^;;


그럼 건승하시길 ^^

박성원(darkancia)님이 2009-12-14 11:05에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29474CentOS MySQL 설치 [1]
정현도
2009-12-14
7507
29467캐릭터셋 질문입니다. [2]
방방방
2009-12-12
7256
29466처음 DB 를 하는 초보자입니다. [1]
Danica
2009-12-11
7012
29465DB를 UTF-8로 설치 후 show variables 로 확인하면 latin 이? [1]
조현철
2009-12-11
7159
29464윈도우에 mysql 2개 설치하는 방법 or 하나의 mysql에 두개의 character-set 사용 방법 [3]
조현철
2009-12-11
12390
29463mysql - lock 과 order by에 관하여 [1]
초보자
2009-12-10
6850
29462ROW간 값의 차이를 구하고 싶습니다. [1]
이창화
2009-12-10
12045
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다