인코딩 UTF-8, 데이터 정렬 및 ctype ru_RU.UTF-8이있는 데이터베이스가 있습니다. 테이블 구조 - id
, key
, value
. 한 줄 삽입 :유니 코드로 SQL 선택
1 | size | --- "\xD0\xA0\xD0\xB0\xD0\xB7\xD0\xBC\xD0\xB5\xD1\x80"|
내가 콘솔에서
SELECT E'--- "\xD0\xA0\xD0\xB0\xD0\xB7\xD0\xBC\xD0\xB5\xD1\x80"';
을 실행했을 때, 나는 올바른 출력
?column?
--------------
--- "Размер"
(1 row)
있어하지만
select "value" from "translations" where "key"='size';
I을 실행하려고 할 때 ~
value
--------------------------------------------------------
--- "\xD0\xA0\xD0\xB0\xD0\xB7\xD0\xBC\xD0\xB5\xD1\x80"
(1 row)
이스케이프 처리되지 않은 문자열을 얻는 방법은 무엇입니까?
CREATE TABLE translations (
id serial NOT NULL,
"key" character varying(255) NOT NULL,
"value" text,
CONSTRAINT translations_pkey PRIMARY KEY (id))
WITH (OIDS=FALSE);
ALTER TABLE translations OWNER TO user;
CREATE UNIQUE INDEX index_translations_on_key ON translations USING btree (key);
왜 CREATE TABLE의 DDL을 표시하지 않습니까? – Unreason
TABLE 변환을 만들기 ( ID 직렬 NULL NOT, "키"캐릭터 변화 (255) NULL NOT, "값"텍스트 PRIMARY KEY translations_pkey CONSTRAINT (ID) ) ( OIDS = FALSE ) WITH ; ALTER TABLE 번역 OWNER TO 사용자; 고유 인덱스 생성 index_translations_on_key 번역시 USING btree (키); –
함수가 quote_literal 함수를 찾았 으면, 출력 - E '--- "\ xD0 \ xA0 \ xD0 \ xB0 \ xD0 \ xB7 \ xD0 \ xBC \ xD0 \ xB5 \ xD1 \ x80"' 그것. –