현재 일본어 삽입이 되는 웹개발을 진행중입니다.
개발서버에서는 웹에서 일본어 입력시 정상적으로 표시되며
DB의 경우도 글자가 깨지지 않고 정상적으로 표시됩니다.
그런데 운영서버의 경우 웹페이지 에서는 일부 정상적으로 보이지만 DB에서는 글자가 모두
깨져서 표시되며 긴문장의 경우 끝부분의 사각형의 문자로 표시가 됩니다.
한가지 다른점이라면 phpinfo 에서 Environment 에 LANG 부분이 개발서버는 en_US.UTF-8 로
되어 있고 운영서버의 경우 C 로 표시가 됩니다.
이부분은 어떤부분을 변경해야 적용이 되는지 몰라 현상태로 있습니다.
윗부분 때문인지 아니면 다른 설정 때문에 그런것인지 고수님들의 답변부탁드립니다.
서버의 환경과 설정 사항은 아래와 같습니다.
개발서버는 apache - 2.2.3
mysql - 5.0.24
php - 5.1.5
운영서버는 apache - 2.0.52
mysql - 4.1.2
php - 5.1.5
의 환경으로 UTF 관련 설정은 아래와 같이 개발서버와 운영서버 동일하게 구성하였습니다.
1. Apache 설정
httpd.conf
AddDefaultCharset UTF-8
2. php 설정
php.ini
default_charset = "utf-8"
3. mysql 설정
my.cnf
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
fault-character-set=utf8
4. i18n 설정
/etc/sysconfig/i18n
LANG="en_US.UTF-8"
PPORTED="en_US.UTF-8:en-US:en:ja_JP.UTF-8:ja_JP:ja"
SFONT="latarcyrheb-sun16"
설정결과를 phpinfo() 를 통해 보아도 위 설정값과 동일하게 표시되고
mysql의 경우 아래와 같이 모두 UTF8 로 설정되어 표시됩니다.
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 /usr/share/mysql/charsets/ |
| collation_connection utf8_general_ci |
| collation_database utf8_general_ci |
| collation_server utf8_general_ci |
| concurrent_insert ON |
| connect_timeout 5 |
+--------------------------+----------------------------+
12 rows in set (0.00 sec)
끝까지 봐주셔서 감사합니다.
아시는 내용이라면 답변 부탁드리겠습니다. |