일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- map api v3
- ant path pattern
- 서브쿼리
- 아이폰키보드
- ajax async
- extundelete
- group by max
- 접속ip
- jquery selectbox change
- TM128
- http https
- 첫주 및 마지막주 날짜 전체 포함
- partition by
- 컴퓨터 드라이버
- 주소 좌표변환
- mysql trigger
- eclipse hotdeploy
- 2개 테이블
- String 배열
- KOSA
- 폐업자에 대한 업종등의 정보내역
- multipart
- Oracle
- remote ip
- checkbox 값처리
- 한국소프트웨어산업협회
- String[]
- update
- ajax 동기방식처리
- mysql
- Today
- Total
하은양 믿음군 효실맘 호홍홍집s
php oracle 한글 깨짐 현상 character set 바꾸기 본문
UTF-8이 대세이기는 하지만 아직은 웹사이트를 개발함에 있어서 EUC-KR과 UTF-8을 써야 할 때가 있습니다.
그로 인해서 1대에 서버에서 PHP에서 Oracle로 개발할때 정말 어려움이 생기곤 하지요.
Oracle DB 연동을 위해 NLS_LANG을 KOREAN_KOREA.KO16MSWIN949으로 셋팅하여 EUC-KR용으로 할 경우 UTF-8로 출력하기 위해서 PHP에서 인코딩을 iconv나 mbstring을 통해 하곤합니다.
인코딩을 하는 것도 한 두 번이지 필드가 많을 경우 정말 아찔하고 이 경우 오히려 웹서버의 리소스를 많이 소모하게 되는 문제가 생기곤 합니다.
이 문제를 해결하기 위한 방법으로는 oci_connect 의 옵션을 통해 문자셋을 통해서 Oracle에서 처리하도록 하는 방법이 유용할 경우가 있습니다.
사용 방법은 TNS_NAME 이후 즉 4번째 옵션 항목에 사용할 문자셋 옵션을 추가 하면 됩니다.
■ 관련 메뉴얼 : http://kr1.php.net/manual/en/function.oci-connect.php
예를 들어
// UTF-8 문자셋 설정
$conn = oci_connect('user_name', 'pwd', 'test_db', 'AL32UTF8');
// EUC-KR 문자셋 설정
$conn = oci_connect('user_name', 'pwd', 'test_db', 'KO16MSWIN949');
즉 4번째 옵션에 UTF-8을 사용하려면 AL32UTF8를 셋팅하고 EUC-KR을 사용하려면 KO16MSWIN949를 셋팅하면 됩니다.
포스트 참고 : http://www.xelloss.pe.kr/m/post/236
'가벼운 배움 > PHP' 카테고리의 다른 글
변수가 get, post, session 변수인지 체크하지 않고 쓰기 (0) | 2017.03.21 |
---|---|
http를 https 로 전환 (0) | 2016.05.18 |
자동글쓰기 방지 셈플..ㅋㅋ (0) | 2014.06.23 |