Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SD-1
- ds1
- 일렉기타
- 티스토리 초대장
- 우분투
- ubuntu
- 자바스크립트
- 험버커
- 멀티
- 태그를 입력해 주세요.
- 오라클
- JavaScript
- 이펙터
- 페달보드
- 디스토션
- XP
- 꾹꾹이
- 리눅스
- 초대장
- ds-1
- HTML
- 멀티부팅
- 페달
- SD1
- 기타
- php
- 던컨
- 레스폴
- 티스토리 초대
- karmic koala
Archives
- Today
- Total
Since 1982
캐릭터셋이 다른 서버로 전송할때 본문
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
다른 서버와 연동할때나, 부득이하게 캐릭터셋이 다른 곳으로 폼변수 전송하는 경우가 발생한다.
단순히 php 함수인 iconv로 전송을 하면 되겠지 생각했지만,
실제상황에서는 그렇지가 않다.
문자열이 전부 엉망이 되서 넘어간다.
euc-kr 셋을 사용하는곳에서 utf-8셋을 사용하는곳으로 변수 전달 하는 과정이었다.
form을 세팅할때 일반적으로 아래와 같이 할것이다.
<form name="form" method="post">
이래서는 문자열이 다 깨진다.
form을 아래처럼 변경하고 전송하면 문제 없다.
<form name="form" method="post" accept-charset='utf-8' >
그러나 여기서 또 IE만 문제 발생
IE에서는 위처럼 해도 문자가 다깨진다.
form submit 전에 스크립트를 추가해서 해결 가능하다.
if (/MSIE/.test(navigator.userAgent)) {
document.charset = 'utf-8';
document.form.submit();
document.charset = 'euc-kr';
} else {
document.form.submit();
}
과정은 간단하다
submit전에 캐릭터셋을 변경하고, submit을 하고, 다시 원래의 캐릭터셋으로 돌려주는 거다
'php,javascript,html' 카테고리의 다른 글
atom 에디터 (0) | 2017.09.04 |
---|---|
전체 소스 내용 검색 (1) | 2016.02.10 |
javascript, ajax, html (0) | 2012.09.21 |
onmouseout onmouseleave (0) | 2012.09.17 |
스크롤에 따라 움직이는 버튼 스크립트 (0) | 2012.06.30 |