테스트 사이트 - 개발 중인 베타 버전입니다

[utf-8] 설정

· 20년 전 · 5604 · 5
글쓴이:pardner utf8 설정 - 웹, DB콘솔 모두 가능하네요 ^^ 조회수:9


많은 분들의 의견과...정리해주신 알짜초보님의 글을 참고로...
UTF-8 설정시 MySQL 콘솔(DB 내용) 작업시 문제점만 해결해 봤습니다.

1) 문제점

mysql> show variables like 'c%';
+--------------------------+--------------------------+
| Variable_name | Value |
+--------------------------+--------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | W:\mysql\share\charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 5 |
+--------------------------+--------------------------+
13 rows in set (0.01 sec)

mysql> create table utf_euc (var_k varchar(100), var_e varchar(100));
Query OK, 0 rows affected (0.19 sec)

mysql> insert into utf_euc set var_k="한글로 넣을꺼야", var_e="this is english variable ";
ERROR 1406 (22001): Data too long for column 'var_k' at row 1

2) 설정 변경

mysql> set character set euckr;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'c%';
+--------------------------+--------------------------+
| Variable_name | Value |
+--------------------------+--------------------------+
| character_set_client | euckr |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | euckr |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | W:\mysql\share\charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 5 |
+--------------------------+--------------------------+
13 rows in set (0.00 sec)

mysql> insert into utf_euc set var_k="한글로 넣을꺼야", var_e="this is english v
field";
Query OK, 1 row affected (0.05 sec)

mysql> select * from utf_euc;
+-----------------+------------------------+
| var_k | var_e |
+-----------------+------------------------+
| 한글로 넣을꺼야 | this is english vfield |
+-----------------+------------------------+
1 row in set (0.00 sec)

3) 웹(utf8)에서 2번째꺼 삽입된 결과 확인

mysql> select * from utf_euc;
+-----------------+------------------------+
| var_k | var_e |
+-----------------+------------------------+
| 한글로 넣을꺼야 | this is english vfield |
| 이거도 한글^^ | 이거는 영언데 ㅠㅠ |
+-----------------+------------------------+
2 rows in set (0.01 sec)

3) 참고

mysql> set character set utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from utf_euc;
+------------------------+----------------------------+
| var_k | var_e |
+------------------------+----------------------------+
| ?ㅤㅆㅝㅅ?濡??lㅤㅆㅠㅀ爰쇱ㅤㅂㅣㅍ | this is english vfield |
| ?닿굅???ㅤㅆㅝㅅ?^^ | ?닿굅???ㅤㄱㅗㅋㅤㅃㅖㅂ???ㅤㅈㅗㄽㅤㄲㅠㄲ |
+------------------------+----------------------------+
2 rows in set (0.00 sec)

mysql>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 5개

2) 설정변경에 나와 있듯이 DB와 웹에서는 utf8을 적용하고,
mysql 콘솔에서는 euckr을 적용하면 됩니다.
오~~;;
이런 팁도 올라오는군요!
ㅎㅎ..좀 이해는 안가는데 감사합니다.
저도 유니코드를 사용할려고 엄청 노력을 했는데요

DB와 웹에서는 utf8을 적용하고,
mysql 콘솔에서는 euckr을 적용하면 깨지는 문제가 있고, 에딕터에서 도 유니코드로 작성하는 문제가 있고 어려가지로 어렵더군요.

-저의 푸념입니다.
// 아름님,
먼저 죄송하단 말씀드려야겠군요.
PHP5는 문제없는 듯하여 PHP5-MySql4, PHP5-MySql5 두 가지 조합으로 테스트 하면서 올렸던 팁입니다.
코멘트 보고 MySql4에서 위 팁이 적용되지 않는 걸 확인했습니다.

MySql5에서는 위 팁 내용대로 콘솔에서도 잘 쓸 수 있답니다.
그누보드는 소스를 수정하셔야 합니다.

게시글 목록

번호 제목
1267
1259
1240
1238
1236
1219
1212
1206
1197
1194
1192
1191
1185
1180
1169
1155
1153
1139
1128
1116