게시판 입력항목에 한자를 입력하고 등록을 누르면 DB에 저장되지 않습니다. ㅜㅜ

게시판 입력항목에 한자를 입력하고 등록을 누르면 DB에 저장되지 않습니다. ㅜㅜ

QA

게시판 입력항목에 한자를 입력하고 등록을 누르면 DB에 저장되지 않습니다. ㅜㅜ

답변 3

본문

19550ab75e0042ae44ed374aec890303_1406031181_1694.jpg 

위에서 마찬가지로 신청서 폼을 만들고 각각 한글, 한자, 영문을 입력받도록 구성하였습니다.

 

디비를 열어보면 한글과 영문은 잘 들어가있는데... 한자 (한글을 치고 한자키로 변환한)만 제대로 들어가지 않습니다.

 

어떻게 해야 정상적으로 한자가 반영될까요? ㅜ_ㅜ

 

고수님의 가르침 부탁드립니다 .ㅜㅜ

 

 

참고로 캐릭터셋은 charset=euc-kr 입니다.

 

혹시 이게 문제가 되는 걸까요?

이 질문에 댓글 쓰기 :

답변 3

네.. 문제 생길것으로 보입니다..

DB를 UTF8로 바꾸는게 제일 좋을것 같구요.

아니면 텍스트를 인코딩해서 넣어야 될것같습니다.
 

 


테스트 -> %ED%85%8C%EC%8A%A4%ED%8A%B8
カタカナ -> %E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A
 

이런식으로 넣으신다면 전세계 어느나라 말이든 얼마든지 DB를 바꾸지 않고도 가능하겠지요~~ 

 

간단한 예제입니다
DB 구조 변경없이 변환을 하실거라면, 핵심은 폼이 PHP로 전송되기 전에 자바스크립트로 인코딩을 해주는것입니다.

 


<meta charset = "utf-8">
<form onsubmit="return do_write();">
 <input type = "Text" id = "input" value = "테스트">
 <input type = "Text" id = "output" value = "">
 <input type = "submit" value = "전송">
</form>
<script type = "text/javascript">
 function do_write()
 {
  // 글쓰기전 변환
  document.getElementById("output").value = encodeURIComponent(document.getElementById("input").value);
  return false;
 }
</script>​​

이름 하나 한자로 등록하려고 UTF로 바꿀 필요는 없습니다

스킨폴더에 write_update.skin.php를 만들고(저장필드가 wr_1이라고 한다면)

<?

$wr_1 = urlencode(wr_1);

?>

 

list, view 스킨에서는 사용할 곳에 아래처럼 하면 됩니다

echo urldecode($list[$i][wr_1]);

echo urldecode($view[wr_1]);

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로