다국어 웹사이트 (유니코드로 데이타 저장)

php iconv 함수 사용법

운영자 | 기사입력 2005/02/13 [15:58]
>
필자의 다른기사 보기 인쇄하기 메일로 보내기 글자 크게 글자 작게
다국어 웹사이트 (유니코드로 데이타 저장)
php iconv 함수 사용법
 
운영자   기사입력  2005/02/13 [15:58]
한국어와 일본어를 동시에 보여주기 위해서는

charset를 uft-8로 하고 문서는html이나 php를  uft8
방식으로 저정을 하며 되는데
(<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">)

문제는 기존의 db에 있는 데이타를 utf8로 변환을 해야 하는데

php에서 변환 할 수 있는 함수를 찾아보니
iconv 란 함수가 있는데 이 함 수를 쓰기
위해서는 라이브러리가 필요한데
http://www.gnu.org/software/libiconv/
에서 다운 후

압축을 푼 후
./configure --prefix=/usr/local
make
make install

설치 후

다시 php 컴파일시

--with-iconv=/usr/local
이 옵션을 추가 해서 설치 해야
iconv 함수를 사용 가능 하다.

저의 설치 예

./configure --with-mysql=/usr/local/mysql  --with-apache=../apache_1.3.26   \

--with-iconv=/usr/local   --with-gd   -with-jpeg-dir   \

--with-png-dir   --with-zlib-dir     

설치 완료 후
iconv 함수는 아래 처러 사용한다.


$string= iconv("euc-kr","UTF-8",$string);


다음에 간단하게 스크립트를 만들어 기존의 데이블에 있는 데이타를

불려 utf8로 변환 후 db에 넣는 구문이다.




<?
function utf8_exchange($string) {




$string= iconv("euc-kr","UTF-8",$string);

return $string;
}

include("./newlib/lib.php");


$dbconn= DB_Conn();  // db 연결
 DB_Select ();



$sql="select * from bbs order by uid ASC";

$query = mysql_query($sql,$dbconn);

while(list($uid,$id,$writer,$passwd,$email,$homepage,$wdate,$indent,$subject,$contents,$count,$userfile)= mysql_fetch_array($query)) {

$writer=utf8_exchange($writer);
$passwd=utf8_exchange($passwd);
$email=utf8_exchange($email);
$subject=utf8_exchange($subject);
$contents=utf8_exchange($contents);
$userfile=utf8_exchange($userfile);


$sql2="insert into bbs2 values('$uid','$id','$writer','$passwd','$email','$homepage','$wdate','$indent','$subject','$contents','$count','$userfile')";

$query2 = mysql_query($sql2,$dbconn);

if($query2) {
echo("ok<br>");
   }else {
echo("fail<br>");
}

}

echo("끝 >");


mysql_close($dbconn);

?>


그리고 메모장으로 utf-8로 저장하고
<?
session_start();
?>
을 하면 에러나 나온다
이렇 경우에는   울트라 에디터로 열어어서
헥사코드로 보면 앞에 3바이트정도가 들어가는 것이
있는데 이것을 지우면 된다.


트위터 트위터 페이스북 페이스북 카카오톡 카카오톡
기사입력: 2005/02/13 [15:58]  최종편집: ⓒ iwav
 
 
많이 본 기사