웹에서 한글 깨짐 현상이 발생 할때.
소스에서 수정하기
1. 인코딩 방식을 통일 : 코딩 페이지 UTF-8로 변경
2. iconv() 사용 : iconv("현재 인코딩", "바꿀 인코딩", 바꿀 스티링)
$emp = iconv('uft8', 'euckr', $str );
3. mysql 입출력 인코딩 지정 ( 나의 경우 정답~~!!)
php.ini 나 my.cnf 에서 수정을 하면 될 수 있을 것 같은데.
귀찮아서 다음과 같이 session char_set_ 명령을 실행하는 걸로 마무리 한다.
<?php // query.php
require_once 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if(!$db_server) die ("Unable to connect to MySQL :" . mysql_error());
mysql_select_db($db_database) or die("Unable to select Database : " . mysql_error());
mysql_query("set session character_set_connection=utf8;");
mysql_query("set session character_set_results=utf8;");
mysql_query("set session character_set_client=utf8;");
$query = "SELECT * FROM temptest" ;
$result = mysql_query($query) ;
if(!$result ) die ( "Database access failed : " . mysql_error());
$rows = (mysql_num_rows($result));
for($j = 0 ; $j < 5 ; ++$j){
$temp = mysql_result($result, $j, 't2');
print("$temp <br>");
}
참고:
php mysql의 한글 깨짐 문제 해결 (MySQL DB관점에서 해결)
Change MySQL default character set to UTF-8 in my.cnf
서버에서 설정하기
역시, php.ini와 my.cnf 설정만 수정하면 utf-8 한글 깨짐 문제는 해결 되었다.
php.ini 기본 문자셋 설정 (/etc/php.ini)
;default_charset = "iso-8859-1"
default_charset = "utf-8"
my.cnf 기본 문자셋 설정 ( /etc/my.cnf )
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# utf-8 setting (djlee)
default-character-set=utf8
default-collation=utf8-general_ci
init_connect=set collation_connection=utf8_general_ci
init_connect=set names utf8
character-set-server=utf8
collation-server=utf8_general_ci
character-set-client-handshake=TRUE
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
'WEB언어 > PHP' 카테고리의 다른 글
(PHP) HTML tag 제거 + 특정 HTML tag 허가(Allow) (0) | 2016.02.12 |
---|---|
time — Return current Unix timestamp (0) | 2015.04.29 |
php 문자열 자르기 substr() 함수 explode() (0) | 2014.10.26 |
php money_format 변환 - 미국 형식 화폐 / MySQL 일자포멧 / 요일확인 (0) | 2014.10.23 |
[PHP] DB값 날짜 변경하기 / 나이 계산 (0) | 2014.05.25 |
[php] regular expression - filter number only (0) | 2014.05.25 |
[PHP] SSL 설정후 파일 다운로드 안되는 문제 (0) | 2013.07.03 |
[PHP] 구분자로 split하기 (explode함수) (0) | 2012.09.06 |
(로그인하지 않으셔도 가능)