postgresql编码问题

一.服务端编码为utf8

        1.JSP页面编码为UTF8,通过JSP插入选出所有汉字都正常,无乱码

        2.在windows命令提示符下,设置编码为UTF8,set client_encoding='utf8',在命令提示符下,插入部分汉字正常,部分汉字提示错误(不能插入),插入的那部分汉字在命令提示符下选出正常。

        3.用JSP插入的汉字,在命令提示符下选出,乱码,用命令提示符插入的汉字在JSP中选出,乱码

        4.用postgresql自带的pgAdmin打开查询控制台,插入选出均正常。查询JSP插入的汉字,无乱码,查询命令提示符插入的汉字,乱码。

        

        小结:服务端编码为utf8,是可以正常接收汉字的,无乱码,命令提示符下出现乱码的情况,可能与命令提示器下的编码可能有关(即使设置了set client_encoding='utf8')

二.服务端编码设置为euc_cn

        1.JSP中编码为utf8,插入选出正常,无乱码

        2.命令提示符下编码为euc_cn,插入选出正常,无乱码

        3.命令提示符下编码为utf8,插入出错(不能插入),选出乱码

        小结:服务端编码为euc_cn,JSP中可以为utf8,但命令提示符中必须设置为euc_cn,才能正常,无乱码

总结:个人感觉可能是命令提示符中编码的问题,具体是怎么回事不是很清楚。postgresql内置的命令,如:/l , /d , /dt,只能在客户端(这里指命令提示器)编码为euc_cn时才能正常执行,在utf8下,会提示错误

 

你可能感兴趣的:(jsp,windows,PostgreSQL,encoding,pgadmin)