2013-07-11 2 views
0

Linux Mint의 PostgreSQL 9.1에서 키릴 기호를 볼 수 없습니다. 그래서 키릴 문자 인코딩으로 새로운 bd를 만들고 싶습니다. 나는 말한다 : 내가 lc_type 'ru_RU.WIN1251'를 추가하지만 도움이되지하려고인코딩을 PostgreSQL 데이터베이스로 설정하는 방법은 무엇입니까?

postgres=# CREATE DATABASE ekb_1 ENCODING 'WIN1251' TEMPLATE postgistemplate; 
ERROR: encoding WIN1251 does not match locale ru_RU.UTF-8 
ПОДРОБНОСТИ: The chosen LC_CTYPE setting requires encoding UTF8. 

:

CREATE DATABASE ekb_1 ENCODING 'CP1251' TEMPLATE postgistemplate; 

하지만 오류가 발생합니다.
뭐가 잘못 되었나요?

답변

2

이 이렇게 일할 수있는 다음 ru_RU.CP1251 로케일이 존재하지 않는 경우

CREATE DATABASE dbname ENCODING 'win1251' 
    lc_ctype='ru_RU.CP1251' 
    lc_collate='ru_RU.CP1251' 
    TEMPLATE template0; 

sudo locale-gen ru_RU.CP1251 함께 생성 (및 다시 시작 포스트 그레스 (우분투 스타일, 나는 민트는이 점에서 유사하다 가정) 동적으로 새 로케일을 선택하지 않으며 오류 메시지가 혼동 스럽습니다.

postgistemplate db는 동일한 인코딩을 사용하는 경우에만 템플리트로 허용되며 이는 컨텍스트에서는 제공되지 않습니다. 아마도 그것은 UTF-8에 있습니다.

  1. 위의 명령에서 언급 한 바와 같이 template0로 데이터베이스를 만든 다음 그 안에 PostGIS와 초기화 스크립트를 재생 :이 경우

    은, 이론적으로 두 가지 옵션, 어떤 실제적인 경우 확실하지가 있습니다.
  2. 012g데이터베이스를 win1251 인코딩으로 다시 생성하십시오 (포스트 기어가 지원한다고 가정).

저는 처음에는 다른 인코딩을 시도하고 인코딩을 유지하도록 이끌어 낸 UTF-8의 문제를 개인적으로 해결하려고했습니다.

+0

감사합니다. 인코딩이 나를 다시 쳤습니다 ( –

관련 문제