1

有没有办法可以在我的 postgres 数据库中存储 ñ 或 Ñ 字符,数据库是 SQL_ASCII ...

我所做的是插入“ñ”并在数据库中保存为“ñ”,输出仍然是“ñ”,这很好。但我想要的是按原样在数据库中插入“ñ”。

我的问题是某些应用程序输出“ñ”,例如 ateila 或 Crystal 报告。

有什么想法吗?

4

2 回答 2

3

将其转换为 UTF-8 并试一试,它应该可以工作。检查此问题以获取更多信息:

于 2012-11-21T12:32:37.480 回答
1

SQL_ASCII通常是一个坏主意。考虑将您的数据库转换为 UTF-8。这很难做到,因为您的数据库将充满编码错误的数据,但它会为您节省很多痛苦。

SQL_ASCII数据库可以很好地存储非 ASCII 字符。您的应用程序只需要都期望相同的编码,并始终始终如一地转换为该编码/从该编码转换。client_encoding被忽略。在您的应用程序中,您必须始终确保将从外部来源获得的文本转换为该编码,并将数据库中的数据转换为外部接收者期望的编码。最主要的SQL_ASCII是数据库不会检查以确保您做对了。它不会为您转换,也不会验证数据是否匹配client_encoding。没有元数据可以告诉客户您正在使用什么编码。

更改为UTF-8

于 2012-11-21T23:27:05.340 回答