한 8시간 가량 삽질했더니, 목이 매우 뻐근하군...
삽질 주제는 어김없이 찾아온 인코딩 UTF-8.
물론 UTF-8의 기본적인 인코딩 설정은 정상적으로 마치고, php에서 DB와의 한글 입출력을 했는데, '???? 궭걐궹...' 이 즈랄..
엄청난 시간을 투자해서 문제를 해결해 보려고 했지만, 방법이 구리다.
- 일단 터미널에서 찍어본 mysql 인코딩 정보
- php로 DB접속 한 후 브라우저에서 확인한 문제의 mysql 인코딩 정보
엄청난 시간을 들여 인터넷을 다 휘집어 나온 해결방법은...
db 접속 하자마자 수작업으로 열심히 변경시켜 주는 방법.
가장 중요한 건 utf8이 latin1로 바뀐 원인을 모르겠다.
죽어도 모르겠다. 죽여도 모르겠다...
삽질 주제는 어김없이 찾아온 인코딩 UTF-8.
물론 UTF-8의 기본적인 인코딩 설정은 정상적으로 마치고, php에서 DB와의 한글 입출력을 했는데, '???? 궭걐궹...' 이 즈랄..
엄청난 시간을 투자해서 문제를 해결해 보려고 했지만, 방법이 구리다.
- 일단 터미널에서 찍어본 mysql 인코딩 정보
mysql> show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/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 |
+--------------------------+----------------------------+
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/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 |
+--------------------------+----------------------------+
- php로 DB접속 한 후 브라우저에서 확인한 문제의 mysql 인코딩 정보
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 5 |
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 5 |
+--------------------------+----------------------------+
엄청난 시간을 들여 인터넷을 다 휘집어 나온 해결방법은...
db 접속 하자마자 수작업으로 열심히 변경시켜 주는 방법.
$conn = mysql_connect( 'localhost', 'user_id', 'user_pass' );
mysql_query( "set character_set_client = utf8;" );
mysql_query( "set character_set_connection = utf8;" );
mysql_query( "set character_set_results = utf8;" );
mysql_query( "set character_set_client = utf8;" );
mysql_query( "set character_set_connection = utf8;" );
mysql_query( "set character_set_results = utf8;" );
가장 중요한 건 utf8이 latin1로 바뀐 원인을 모르겠다.
죽어도 모르겠다. 죽여도 모르겠다...
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,