G5_ESCAPE_FUNCTION
common.php:87
$_POST = array_map_deep(G5_ESCAPE_FUNCTION, $_POST);
<form method=post>
<input name="s" value="한글" />
</form>
을 받아서
<?php
include 'common.php';
를 하고 나서
echo $s;
를 하면 문자셋 코드가 엉망이 되네요.
DB에 넣을지 안 넣을지 정한 것도 아닌데 무조건 G5_ESCAPE_FUNCTION()으로 처리하는 건 문제가 있네요.
------
common.php:
$result['url'] = $http.$_SERVER['SERVER_NAME'].$port.$user.$root;
이 코드는
<VirtualHost *:80>
ServerName abc.com
ServerAlias aac.com
</VirtualHost>
$_SERVER['SERVER_NAME']은 ServerAlias로 접속하는 경우 ServerName으로만 지정되네요.
$_POST = array_map_deep(G5_ESCAPE_FUNCTION, $_POST);
<form method=post>
<input name="s" value="한글" />
</form>
을 받아서
<?php
include 'common.php';
를 하고 나서
echo $s;
를 하면 문자셋 코드가 엉망이 되네요.
DB에 넣을지 안 넣을지 정한 것도 아닌데 무조건 G5_ESCAPE_FUNCTION()으로 처리하는 건 문제가 있네요.
------
common.php:
$result['url'] = $http.$_SERVER['SERVER_NAME'].$port.$user.$root;
이 코드는
<VirtualHost *:80>
ServerName abc.com
ServerAlias aac.com
</VirtualHost>
$_SERVER['SERVER_NAME']은 ServerAlias로 접속하는 경우 ServerName으로만 지정되네요.
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 1개
escape function이 적용되지 않는 데이터가 필요하신 경우 stripslashes 함수를 사용하시면 됩니다.
한글이 깨지는 문제는 mysql_real_escape_string 함수의 문제로 그누보드5 최신버전에서는 addslashes 함수를
사용하도록 지정되어 있기 때문에 이상이 없습니다. 최신 버전으로 패치를 하지 않으셨다면 패치를 해보시기 바랍니다.
SERVER_NAME 지정부분은 $_SERVER['HTTP_HOST']를 사용하면 해결이 될 수 있습니다.
참고글 : http://sir.co.kr/bbs/board.php?bo_table=yc5_bug&wr_id=971