
# 客户端连接的字符集和字符序
含有字符集属性的数据在服务端和客户端之间传输会自动进行编码转换。当服务端接收到客户端发送的SQL语句后，会将其字符集编码由客户端字符集client_encoding向数据库字符集server_encoding进行编码转换。查询结果数据发送到客户端之前也会将数据向客户端字符集character_set_results进行编码转换。
**系统参数说明**
- server_encoding 创建M-Compatibility数据库时指定的字符集，具体请参见[创建M-Compatibility数据库及用户](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0004.html#ZH-CN_TOPIC_0000002558805257)。
  
- client_encoding 客户端的字符集。可以通过SET NAMES语句进行修改，具体请参见[SET](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0130.html#ZH-CN_TOPIC_0000002558925235)。
  
- character_set_connection SQL语句中未指定字符集的字符串常量的默认字符集。
  
- collation_connection SQL语句中未指定字符序的字符串常量的默认字符序。
  
- character_set_results 返回结果的字符集。
  ![](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - 对于一个非字符类型对象转换为字符类型的表达式，其结果的字符集和字符序为character_set_connection和collation_connection。
    
  
  - 字符类型的绑定参数的字符集和字符序默认为系统参数character_set_connection和collation_connection设置的值。
    
  
  - 字符数据转换编码的过程中会校验字符的编码，如果不符合，将会上报"invalid byte sequence for encoding xxx"的异常。
    
    
 
