본문 바로가기

Story/php

php 에서 strtolower(), strtoupper() 사용시 한글 깨짐문제

반응형

php 에서 필요에 따라 strtolower(), strtoupper() 함수 사용시 한글이 깨지는 현상이 발생하기도 한다.

 

이 함수를 사용하기전에

 

<?php

setlocale(LC_CTYPE, 'C');

?>

 

위와같이 사용해주면 한글이 깨지는 현상을 피할수있습니다.

 

<?php

setlocale(LC_CTYPE, 'C');
strtolower();

?>


 

 

급하게 시스템에 처리하려면

 

# export LC_ALL=ko
# apachectl stop
# apachectl start

 

 

기본적으로 시스템에서 해결을 하면 더욱좋은대


/etc/sysconfig/i18n 에

LC_ALL="ko"

을 추가합니다

 

 

한글문제해결위한 참고내용

 

/etc/sysconfig/i18n 에 다음을 추가 후 재부팅

LANG="ko_KR.eucKR"
SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"

 

 

 

또 ssh 에서 한글깨질때 utf-8 로 보려면

/etc/profile
export LESSCHARSET=utf-8

 

 

vi /etc/sysconfig/i18n

LANG="ko_KR.UTF-8" 을 LANG="ko_KR.eucKR" 로 변경

 

 

 

 

# locale
 
LANG=ko_KR.eucKR
LC_CTYPE="ko_KR.eucKR"
LC_NUMERIC="ko_KR.eucKR"
LC_TIME="ko_KR.eucKR"
LC_COLLATE="ko_KR.eucKR"
LC_MONETARY="ko_KR.eucKR"
LC_MESSAGES="ko_KR.eucKR"
LC_PAPER="ko_KR.eucKR"
LC_NAME="ko_KR.eucKR"
LC_ADDRESS="ko_KR.eucKR"
LC_TELEPHONE="ko_KR.eucKR"
LC_MEASUREMENT="ko_KR.eucKR"
LC_IDENTIFICATION="ko_KR.eucKR"
LC_ALL=


 

반응형