한 8시간 가량 삽질했더니, 목이 매우 뻐근하군...
삽질 주제는 어김없이 찾아온 인코딩 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                          |
+--------------------------+----------------------------+

- 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                          |
+--------------------------+----------------------------+

엄청난 시간을 들여 인터넷을 다 휘집어 나온 해결방법은...
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;" );

가장 중요한 건 utf8이 latin1로 바뀐 원인을 모르겠다.
죽어도 모르겠다. 죽여도 모르겠다...

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret