pgsql에서 한글 삽입시 어떤 글자는 삽입이 잘되는데 어떤 글자는 Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid byte sequence for encoding "UNICODE": 0xee 이메시지가 나오네요 도체 뭐가 잘못 되었는지 모르겠네요.
예를들어 '우리은행' 하면 삽입되는데 '우' 만 입력하면 안되네요
아시는분 답변 부탁드립니다
http://database.sarang.net/?criteria=pgsql&keyword=invalid+byte+sequence+for+encoding+UNICODE
검색해 보시면 왠만한 문제는 해결하실 수 있습니다~
아무래도 클라이언트 인코딩이 문제인것 같습니다.
저는 일본어 환경에서 작업을 합니다만, 위아 같은 에러를 만나서 몇일을 고생했었습니다.
결국에 해결은 클라이언트 인코딩이 문제였더군요.
입력하는 데이터의 문자는 EUC_JP였는데 클라이언트 인코딩이 shift-jis 였기에 문자의 변환이 제대로 이루어지지 않아서 발생한 문제이더군요.
initdb를 할적에 인코딩을 정해주는 부분이 있습니다만, 이 설정이 postgresql.conf 에 client_encoding 이란 옵션에 설정이 됩니다.
그러므로 현재의 클라이언트 인코딩을 psql 화면에서 한번 확인해 보실 필요가 있으면 알맞게 설정을 하시고 postgresql를 재시작 하십시요.
서버 인코딩은 당연히 UTF-8로 되어 있을 것이라 생각됩니다만, 그렇지 않은 경우에도 역시 바꾸어 주셔야 할 필요가 있습니다. 그리고, 클라이언트 인코딩은 직접 손으로 바꾸어 주셔야 할것 같습니다.
덧붙여서 한글에서는 위에 댓글을 다신분이 소개한 글에 한글 인코딩에 대한 설정을 읽어 보시면 도움이 될것 같네요.