제목 | GET 한글에서 CI가 값을 못 받는데 설정 같은 게 있나요? | ||
---|---|---|---|
글쓴이 | Chi | 작성시각 | 2014/04/29 12:48:18 |
|
|||
안녕하세요, 비도 그치고 좋은 날입니다. 궁금하고 답답한 게 있어, 검색을 해도 나오질 않아 고수님들의 도움을 받고자 이렇게 글 남깁니다. 현재 테스트 중인데요. 안되는 부분이 있어 이렇게 글을 남겨요. 간단한 테스트 페이지를 만들고, 응답값을 get 을 통해 받습니다. funcion index() { $test= $this->input->get('NAME', TRUE); log_message('debug',$test); } 실제 아파치 access_log 에는 정상적으로 ?NAME=%B9%E8 같이 나오는데요. 실제 CI 상에서는 아무런 값이 들어오지 않습니다. 어떤 문제 때문인가요? 혹시 아파치 설정 때문에 그런건지.. CI 때문에 그런건지 감이 안 잡히네요. 도와주시면 감사하겠습니다. |
|||
다음글 | form 액션 url 부분 도와주세요. ㅠㅠ (8) | ||
이전글 | 갑자기 이런 에러가 떴습니다... (2) | ||
한대승(불의회상)
/
2014/04/29 12:51:28 /
추천
0
TRUE를 지워 보세요.
|
Chi
/
2014/04/29 12:52:36 /
추천
0
불의회상 // 답변 감사드립니다. 물론 TRUE 를 지워보고도 테스트를 했습니다만, 동일한 증상이어서요. 적는 걸 깜박했습니다 ㅠ
|
한대승(불의회상)
/
2014/04/29 12:58:19 /
추천
0
|
Chi
/
2014/04/29 13:04:29 /
추천
0
불의화상// 또 다시 답변 감사드립니다 ^^;
알려주신 페이지를 확인하고 비교해본 결과 차이가 없습니다. 9번 항목도 변경하여 테스트 했었지만, 특별히 나아지는 것이 없었습니다. 원인을 모르니 미치겠네요 ^^;; |
한대승(불의회상)
/
2014/04/29 13:59:39 /
추천
0
값을 영문으로 집어 넣으면 어떻게 나오나요?
|
ando
/
2014/04/29 14:06:29 /
추천
0
%EB%B0 <== 정상적인 문자가 아니라서 받아오지 못하는거같은데요?
해당 문자열을 urldecode 함수로 디코딩하면 깨지는 문자가 나타나네요. |
Chi
/
2014/04/29 14:11:15 /
추천
0
불의회상// 영어, 특문 모두 정상처리 됩니다.
ando // 호출시 return 되는 값이고요.. 글자를 잘못 올렸네요..%B9%E8 였습니다 ;; 핫.. echo urldecode('글자'); 로 확인해보면 원하는 값인 배가 출력되네요. ㅠ 댓글에도 입력이 안되는 지 뒷말이 저장안되었네요. _detect_uri() 부분 수정하면 될 것 같긴한데 위험하고.. 다른 서버의 ci 에서는 정상동작되니.. 미치겠습니다 ㅠ |
Chi
/
2014/04/29 14:53:19 /
추천
0
|
변종원(웅파)
/
2014/04/29 15:02:41 /
추천
0
config.php에서 아래 내용의 값을 주석에 있는 값들로 하나씩 변경하면서 테스트해보세요.
$config['uri_protocol'] = 'AUTO'; |
Chi
/
2014/04/29 15:19:30 /
추천
0
웅파// 답변 감사드립니다. ^^ 마찬가지로 되지를 않네요. 어디가 문젠지 도통 감이 오질 않아서 이거 참 큰일이네요 ㅠ
|
한대승(불의회상)
/
2014/04/29 15:24:10 /
추천
0
인코딩 문제로 생각 되는군요.
올려주신 값을 urldecode() 해보면... "№и" 로 나오네요. utf8 기준입니다. |
한대승(불의회상)
/
2014/04/29 15:26:33 /
추천
0
아래 처럼 한글로 올려보세요.
?name=그냥 |
Chi
/
2014/04/29 15:33:50 /
추천
0
불의회상 //
첫 번째 답변 주신 것에서 확인해보면 저의 경우에는 'echo urldecode('%B9%E8') 하면 '배'가 출력이 제 화면에서는 됩니다.? 두 번째 말씀해주신 것처럼하면 깨져나오나 GET 으로 들어오는 것은 확인은 됩니다. 현재 연동된 페이지에서 응답을 받는 것인데, 연동된 페이지에서 여쭤본 것처럼 응답을 줘서 문제입니다. 리턴되는 형식이 예를 든다면, NAME=%C7%F6%B4%EB 이런식으로 오는데, GET 으로 받으면 값이 없어져서요. 희안하게 다른 분이 구축해두신 CI 사이트에서는 처리가 됩니다. GET 로 들어와 LOG 를 남기면 NAME=%C7%F6%B4%EB 이라고 Decode 하기전 값이 적힙니다.. 그 사이트와 설정을 비교해도 차이가 없고... 괜히 많은 분들이 답변 주시고 생각해주셔서 감사드리고 죄송하네요. 현재 CI 버전(2.1.4) 가 문제인 것인지.. 다른 설정에서 잘못된 건지 확인을 싹다 해봐야겠네요 ㅠㅠ |
한대승(불의회상)
/
2014/04/29 15:43:41 /
추천
0
문자 인코딩은 utf8 인가요?
지금 테스트 해보니 euckr 이군요. config.php 손보시면 해결 가능 합니다. |
Chi
/
2014/04/29 15:54:28 /
추천
0
불의회상//
네, 기본적으로 제 사이트는 UTF-8 을 사용중이고, 넘어오는 값들은 euc-kr 로 알고 있습니다. 해당쪽으로 넘길 때 euc-kr 로 바꿔서 넘기고요. (중요한 부분을 설명 안해서 죄송합니다.) config.php 확인해보겠습니다. euckr 이어도 값이 그 형태는 찍혀야 하는거 아닌가요 ^^;;? |