테스트 사이트 - 개발 중인 베타 버전입니다

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

채널웹 11년 전 조회 4,354

 

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

 

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

 

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

 

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

 

 

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

 

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

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

11년 전

이름 하나 한자로 등록하려고 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]);

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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

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로 전송되기 전에 자바스크립트로 인코딩을 해주는것입니다.

 

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

11년 전

그럴것 같습니다.

utf-8로 해 보세요 ^^

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인