在Linux环境下,默认情况下的python2.3的encode功能不能使用(不能encode gbk2312, utf8)。我们在项目中使用Twisted框架来开发CS结构的程序,服务器端和客户端会用中文消息进行传递。twisted默认使用utf8进行编码【1】,一般情况下,只需要在服务器端用utf8进行编码,客户端则可以自动地将数据解析成功。
但是python2.3在Linux下却无法使用encode utf8功能。因此中文消息无法在CS之间传递。
为了能正确传递中文消息,最后采用的解决方法是:在服务器端用base64编码,然后在客户端用base64解码【2】。这种方法可以正确解决这个问题。