• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    해결됨

실습 데이터 셋팅 관련 문의_mac 환경

22.05.10 21:29 작성 조회수 498

2

안녕하세요! 수업 들으면서 실습 환경을 셋팅하고 있는 중에 문의가 생겼습니다 ㅜㅜ
Dbeaver, postgresql 설치 모두 잘 되었으며, 복원 파일로 가져왔을 때 누락되는 데이터들이 있어서 기존 Q&A 답변 주신 내용대로 github 방문하여 sql 쿼리 다운받아서 누락된 테이블에만 INSERT 하려고 했는데요 ㅠㅠ
customers 테이블에 데이터가 삽입이 안되는 오류가 발생했습니다 ㅠㅠ 인코딩 문제 같아서 2일 동안 구글링 하여 찾아보았으나 계속 똑같은 오류가 발생하여 문의 드립니다 ㅠㅠ
 
<설치 버전>
Dbeaver 22.0.4
postgresql 14.2
 
Error occurred during SQL script execution 이유: SQL Error [22P05]: ERROR: character with byte sequence 0xc3 0xb3 in encoding "UTF8" has no equivalent in encoding "EUC_KR"
 

답변 1

답변을 작성해보세요.

0

안녕하십니까, 

아래 내용 참조하시어  psql로 접속하셔서 client_encoding을 'utf8'로 변환하시고 다시 수행해 보시지요. 

https://blog.taeseong.me/383

 

#show client_encoding; --현재 인코딩 값 확인

#set client_encoding = 'utf8'; --인코딩 값 변경

#show client_encoding; --변경된 인코딩 값 확인



출처: https://blog.taeseong.me/383 [사과 냄새나는 IT이야기 TAESTORY,]

미쉐르님의 프로필

미쉐르

질문자

2022.05.10

아 네네!! 위 블로그 통해서 psql 콘솔 창에 실행 해봤는데

이미 utf8 로 되어 있었습니다 ㅠㅠ 다시 set 명령을 통해 client_encoding 을 utf8 로 하고 다시 쿼리문을 실행해도 동일한 오류가 납니다 ㅠ..

미쉐르님의 프로필

미쉐르

질문자

2022.05.11

안녕하세요! 강사님 .. 제가 위에 내용 모두 시도해보았지만, 해결이 되지 않습니다 ㅠ

nw 스키마 중 customers, orders, products, suppliers 이 테이블에 내용이 안들어옵니다 ㅠㅠ

제가 Fundamentals 강의와 함께 다양한 사례 SQL 강의도 수강중이여서 다양한 사례쪽 실습 파일도 Dbeaver postgreSQL 서버에 복원해봤는데 특정 테이블 (ga_sess, ga_sess_hist 테이블 데이터 안들어옵니다 ㅠㅠ)이 누락되어서 join 실습이나 다른 실습을 이어가기가 어려운 데요.. 

혹시.. 수강생 분들 중, 맥으로 셋팅하셨는데 동일한 문제 해결하셨다면 답변 부탁드립니다 ㅠㅠ

DB의 문자열이 EUC-KR이고 실습 데이터가 유럽 문자가 들어있어서 UTF-8 로 인코딩 되어서 안맞는 것 같습니다만. 먼저 DB의 Character set을 함 확인해 주시겠습니까,  아래와 같이 psql 에서 수행해 보시면 됩니다. 

SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'postgres';

https://github.com/chulminkw/SQL_Funda 에 가시면 euc-kr 로 인코딩된 export_nw_euc_kr.sql  파일이 있습니다. 이걸 다운로드 받으셔서 다시 만들어 보시기 바랍니다. 

euc-kr 로 인코딩 되어 있기 때문에 일부 유럽 문자는 깨져서 들어가 있습니다. 

미쉐르님의 프로필

미쉐르

질문자

2022.05.11

아하..ㅠ ㅠ 네네 확인해보니 EUC_KR 입니다.. 

 

export_nw_euc_kr.sql 로 데이터가 잘 들어갔나요?

미쉐르님의 프로필

미쉐르

질문자

2022.05.14

다시 올려주셔서 감사드립니다! 그런데 일부 데이터에서 인코딩 문제가 발생하는 것 같습니다..

FK 로 연결되어야 하는 테이블들이 있다보니 customers 부터 인코딩 문제로 누락되는 바람에 전체 데이터가 온전하게 들어오지 않는 것 같습니다ㅠ..

혹시 제 컴퓨터에서만 발생한 문제라면 일단은 다른 윈도우 컴퓨터로 수강하겠습니다.. 도움 주셔서 감사드립니다

이렇게 해보시지요. 

제 생각엔 이전에 postgresql client의 encoding을 UTF-8 로 변경해서 이제는 EUC-KR로 인코딩된 sql 스크립트가 문자가 입력이 안되는 걸로 보입니다. 

이전에 수행하신 psql에서 postgresql client encoding을 다시 EUC-KR로 변경하시고, 마찬가지로 DBeaver에서 Client encoding 을 다시 EUC-KR로 변경하시고 테스트 해보시기 바랍니다. 

그리고 FK는 삭제하셔도 됩니다. export_nw_euc_kr.sql에서 FK가 걸려 있는 부분들을 다 삭제하고 다시 수행해 보시기 바랍니다. 

 

미쉐르님의 프로필

미쉐르

질문자

2022.05.15

아 네 ㅠㅠㅠ 위에 알려주신대로 다시 insert 했더니 데이터 모두 셋팅 완료되었습니다 ㅠㅠ

도움 정말 감사합니다 ㅠㅠ!! 수업 끝까지 열심히 해보겠습니다!!!

해결 되었다니 다행입니다. 즐강 하십시요