문제

히브리어 텍스트 열이 포함 된 postgresql postgis spatial database가 있습니다. 이 시스템은 우분투에서 실행되며 모든 것이 UTF-8에서 완벽하게 작동합니다.

Windows-1255 문자열 만 읽을 수있는 Windows 프로그램을 위해 일부 테이블을 ShapeFile에 덤프하려고합니다. 안타깝게도, pgsql2shp 그러나 인코딩 옵션이 없습니다 SHP2PGSQL 따라서 Widnows 프로그램은 UTF-8을 Windows-1255로 구문 분석하여 Gibberish를 제공합니다.

테이블 열에 Windows-1255보기를 만들려고했지만 데이터베이스를 손상시키지 않으면 서 수행 할 방법을 찾지 못했습니다.

테이블을 변환하는 방법이 있습니까?

감사,

아담

업데이트:

나는 이것이 해결되었다고 생각했다 (내 답변 참조).

ERROR:  character 0x9f of encoding "WIN1255" has no equivalent in "UTF8"

내가 원하는 것은 일종의 생략 기능입니다. iconv'에스 -c 동등한 int 대상 인코딩이없는 소스 문자를 복사하지 않는 플래그.

도움이 되었습니까?

해결책

당신이 정말로 ASCII를 의미한다면, 당신은 히브리어 캐릭터를 구출 할 수 없습니다. ASCII는 7 비트 문자 일뿐입니다 \x7F.

그렇다면이 Windows 프로그램은 어떤 종류의 문자열을 읽습니까? ASCII 또는 Latin-1이라면 결코 히브리어를 얻지 못할 것입니다. 아마도 Windows에서 'ANSI'로 알려진 "현재 시스템 코드 페이지"일 가능성이 높습니다.

이 경우 Windows 프로그램을 히브리어로 실행하는 모든 컴퓨터에서 시스템 코드 페이지를 설정해야합니다 (코드 1255). SHP 파일에는 문자를 인코딩하는 문자가 전혀 없으므로 ShapeFiles는이 코드 페이지 세트 (이스라엘 로케일의 기본값)가있는 기계에서만 올바르게 작동합니다. (보기에 .dbf 수출은 동반 할 수 있습니다 .cpg 인코딩을 지정하려면 파일이지만 사용하는 프로그램이 지원하는지 모르겠습니다.)

그런 다음 데이터를 코드 1255로 내보내거나 Postgres, ISO-8859-8에서 얻을 수있는 가장 가까운 곳으로 내보내야합니다. 내보내기 스크립트는 데이터베이스에서 직접 바이트를 가져갈 수있는 옵션이 없으므로 ISO-8859-8 인코딩에서 데이터베이스를 작성하고 UTF-8 데이터베이스에서 모든 데이터를 전송해야합니다. 쿼리를 통해 직접적으로 또는 아마도 더 쉬운 8859-8에 pgdumpall SQL을 메모장에로드 한 다음 UTF-8 대신 히브리어로 다시 절약합니다 (SQL DDL에 나열된 인코딩 설정 조정).

Windows 프로그램 제작자가 UTF-8을 지원하도록 설득 될 수 있는지 궁금합니다. 이 세기에 코드 페이지 특정 소프트웨어를 고집하는 것은 약간 슬픈 일입니다.

다른 팁

Bash 스크립트 내에서 :

select ENCODING in UTF8 WIN1252 WIN1255 ISO-8859-8;
do
        if [[ -n $ENCODING ]]; then
                export PGCLIENTENCODING=$ENCODING;
                break
        else
                echo 'Invalid encoding.'
        fi
done

그만큼 export PGCLIENTENCODING=$ENCODING; 진술은 트릭을 수행합니다.

히브리어 인코딩 테이블 및 페이지 테이블 확인을 확인하면 ISO-8859-8 그리고 Windows-1255 매핑이 없습니다 0x9f.

변환하려는 데이터는 구형을 기반으로 할 수 있습니다. Codepage 862, DOS에 따른 히브리어 코드 페이지.Codepage 862 코드를지도합니다 0x9f 유니 코드 문자 "후크가있는 라틴어 작은 문자 F", 0x0192.

유사한 "무작위"오류를 조사하고 데이터의 비 원실 -1255 코드에 대한 매핑을 결정할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top