【发布时间】:2018-03-23 09:37:42
【问题描述】:
我正在尝试创建一个数据库,然后创建一个支持特殊法语重音字符的表。在尝试了 UTF-8 之后,我发现我的数据库中没有出现特殊的重音字符,它们只显示为普通的拉丁字符。
于是我做了一番研究,发现正确的编码应该是Windows-1252,一种支持特殊重音字符的编码。
我一直在尝试在我的 PostgreSQL 数据库中实现这种编码,但没有成功。结果保持不变,就好像它们是 UTF-8 编码的一样。我不知道如何为 'WIN1252' 编码编写正确的排序规则和 Ctype 值。
这就是我一直在做的:
UPDATE pg_database SET datallowconn = TRUE WHERE datname = 'template0';
\c template0
UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';
DROP DATABASE template1;
CREATE DATABASE template1 WITH owner=postgres ENCODING = 'WIN2512' TEMPLATE template0;
UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';
\c template1
UPDATE pg_database SET datallowconn = FALSE WHERE datname = 'template0';
CREATE DATABASE test_database2 WITH OWNER postgres ENCODING 'WIN1252' TEMPLATE template1;
\c test_database2;
CREATE TABLE locations (locations VARCHAR(255));
INSERT INTO locations VALUES ('Franche-Comté');
INSERT INTO locations VALUES ('Midi-Pyrénées');
INSERT INTO locations VALUES ('Provence-Alpes-Côte d Azur');
输出:
【问题讨论】:
标签: postgresql special-characters diacritics windows-1252