
4 Aug
2023
4 Aug
'23
5:41 p.m.
非ASCII时,opengauss的工作流程如下: (1)客户端的gsql直接发送字符串给服务器(假如为gbk) (2)服务器端gaussdb接收后立即讲字符串从客户端编码(gbk)转为服务器端编码(假如为utf8) (3)后续全部按照服务器端编码(utf8)进行解析。 但是编码为ASCII时是不会进行任何转换的,客户端发送什么就存储什么,这会引起问题。 比如客户端为utf8,服务器为ASCII时, select to_number ('¥9987.65','9999.00'); 会得到错误结果9987.6。 由于数据库中存储的结果可能是任何编码,在进行字符处理时,发生错误的概率几乎是一定的。 另外,在gaussdb端来进行字符编码转换可能会造成服务器端压力过大,如果由gsql来进行转码动作应该更合适,希望就编码问题进行讨论。 来自阿里邮箱Android客户端
654
Age (days ago)
654
Last active (days ago)
0 comments
1 participants
participants (1)
-
雷紫薇