更新时间:2024-06-03 GMT+08:00

客户端连接的字符集和字符序

含有字符集属性的数据在服务端和客户端之间会自动转换编码。服务端接收到客户端发送的SQL语句后,会将其由客户端字符集client_encoding向数据库字符集server_encoding转换编码。查询结果数据发送到客户端之前也会将数据向客户端字符集client_encoding转换编码。

系统参数说明

  • server_encoding

    创建数据库时指定的字符集,详见CREATE DATABASE章节。

  • client_encoding

    客户端的字符集,可以通过SET NAMES语句修改,详见SET章节。参数说明详见《管理员指南》中“配置运行参数 > GUC参数 > 区域和格式化”章节的“client_encoding”。

  • character_set_connection

    SQL语句中未指定字符集的字符串常量的默认字符集,参数说明详见《管理员指南》中“配置运行参数 > GUC参数 > 区域和格式化”章节的“character_set_connection”。

  • collation_connection

    SQL语句中未指定字符序的字符串常量的默认字符序,参数说明详见《管理员指南》中“配置运行参数 > GUC参数 > 区域和格式化”章节的“collation_connection”。

  • character_set_results

    返回结果的字符集,参数说明详《管理员指南》中“配置运行参数 > GUC参数 > 区域和格式化”章节的“character_set_results”。

    • 对于一个非字符类型对象转换为字符类型的表达式,其结果的字符集和字符序为character_set_connection和collation_connection。

    • 字符类型的绑定参数的字符集和字符默认为系统参数character_set_connection和collation_connection设置的值。

    • 字符数据转换编码的过程中会校验字符的编码,如果不符合,将会提示异常,返回ERROR信息。