database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29637 게시물 읽기
No. 29637
utf8->euc-kr 로 변환방법좀알려주세요
작성자
윤은숙
작성일
2010-05-07 11:51
조회수
8,273

안녕하세요

제가 왕 초보인데요

제가 xe의 도움으로 홈페이지를 만들었는데요

xe는 기본 utf8을 지원한다구하네요 근데 제 db는 uec-kr  로 되어있습니다

xe로 한글데이타를 입력받아서(외부페이지) db에 저정하면

한글이 湲덊샇 이렇게 보입니다

여기저기 찾아봤지만 어디서 변환을 해야할지 몰라서요

a.php는 아래처럼 입력하는거구용

<form action="a.php">
<table width="775" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#6CAEFC">
         <td width="76" bgcolor="#EAEAEA"><div align="center"><font size="2"><b>상품명:</b></font></div></td>
    <td width="153" bgcolor="#FFFFFF"> <input type="text" name="scom" size="15">
    </td>
    <tr>
    <td bgcolor="#EAEAEA" align="center"><strong><font size="2">계약자</font></strong></td>
    <td bgcolor="#FFFFFF" align="center"><input type="text" name="skname" size="10"></td>
         </tr>
  <tr> 
  </table>
  <p align="center">
     <input name="subumit" type="submit" value="저  장">
  </p>
<p align="center">&nbsp;</p>
</form>
 

b.php는 db에 저장하는 파일입니다
<?
$connect=mysql_connect("로컬호스트","아이디","비번");
 mysql_select_db("db") or die("mysql_error()");
$query = "insert into p2010(scom,skname,ip) values('$scom','$skname','$REMOTE_ADDR')";

mysql_query($query,$connect);
?>

저장이 완료되었습니다
<script>
location.href="a.php";
</script>

이렇게 했습니다
어디에다 어떻게 해야 한글이 안깨질까용
고수님들 도와주세요

 

 

이 글에 대한 댓글이 총 2건 있습니다.

여러가지 해결방법이 있을것 같은데 지금 생각나기로는 

1. db 의 캐릭터셋을 utf8 로 바꾼다.

2. 웹(xe) 의 캐릭터셋을 euc-kr 로 바꾼다.

3. utf8 로 입력받은 데이터를 euc-kr 로 바꿔서 저장한다.

php 에서 multibyte string function 을 이용해서 바꿔야겠네요.

가령 

$scom = mb_convert_encoding($scom, "euc-kr","utf8");

$skname = mb_convert_encoding($skname, "euc-kr","utf8");

 

3번의 경우 나중에 홈페이지의 컨텐츠가 늘어나면 여러가지 문제가 발생할 수 있어서 비추입니다.

가령 버그로 인해서 db 에 일부 데이터를 utf8로 입력했을 경우,

기존에 저장된 euc-kr 데이터 중에서 utf8 로 잘못 입력된 데이터를 찾기가 매우 힘들겁니다.

 

그래서 1,2번 방법을 추천합니다. db 와 웹의 캐릭터셋을 맞춰서 사용하지 않으면 나중에 고생 많이 하실겁니다 ;)

pithecus(pithecus)님이 2010-05-07 14:11에 작성한 댓글입니다.

답변주셔서 감사합니다

1번으로 하기로 ㅋㅋ  했습니다.

 

윤은숙(lydiay)님이 2010-05-07 17:21에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29640순번을 매기고 싶습니다.. [3]
양선생
2010-05-07
7101
29639서버튜팅 부탁드립니다. 한번씩 프로그램이 늦어지는데 원인을 모르겠습니다. [1]
푸르미
2010-05-07
9791
29638안녕하세요 mysql질문입니다. [9]
투루로맨스
2010-05-07
7984
29637utf8->euc-kr 로 변환방법좀알려주세요 [2]
윤은숙
2010-05-07
8273
29636innoDB는 인덱싱시 B+트리를 사용하나요 B트리를 사용하나요? [2]
최정우
2010-05-02
8487
29635디비에 ..락이 걸리는데... [1]
쥬시쿨
2010-05-02
10034
29634기간별 그룹을 구하고 싶습니다. [2]
장민철
2010-04-30
7673
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다