【问题标题】:Special characters are not encoded on Amazon RDS (PostgreSQL)特殊字符未在 Amazon RDS (PostgreSQL) 上编码
【发布时间】:2016-06-24 22:29:45
【问题描述】:

我在 Amazon RDS PostgreSQL 数据库上看不到土耳其语特殊字符。我的开发数据库正确显示字符。

当我通过 pgAdmin 连接到 RDS 实例时,我看到 ■aja²a³aa@test.com 而不是 şajaıaüağaç@test.com。

我的服务器编码和整理分别是 UTF8 和 en_US.UTF-8。

在 database.yml 文件中,我将编码设置为 utf8。

default: &default
  adapter: postgresql
  encoding: utf8

我的开发数据库也是 PostgreSQL 没有任何问题。

我做错了什么?

【问题讨论】:

    标签: ruby-on-rails postgresql utf-8


    【解决方案1】:

    据我所知,AWS RDS 默认以latin1 编码创建数据库。确保您的数据库和创建的表的编码设置为utf-8

    【讨论】:

    • 当我使用SHOW CLIENT_ENCODING; 检查我的客户端编码时,结果是 WIN1254 这是 tukish 字符集。当我使用SHOW SERVER_ENCODING; 检查服务器编码时,结果是UTF8。但是当我使用 SELECT 命令获取数据时,它不能正确显示土耳其特殊字符。
    • 我会在任何地方都坚持使用 utf8。
    • 我解决了。编码问题仅发生在 pgAdmin 上。当我从数据库中检索数据时,土耳其语字符显示正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 2016-10-19
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多