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

2014-07-22 (화) 21:14:57 4,656

19550ab75e0042ae44ed374aec890303_1406031181_1694.jpg 

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

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

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

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

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

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

|

답변 3개

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

2014-07-22 (화) 22:10:15

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

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

 

Copy
<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-8로 해 보세요 ^^

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