JDBC操作firebird数据库出现乱码的应急解决方案

匿名 (未验证) 提交于 2019-12-02 23:43:01

原先有个系统是用delphi进行开发的,使用了firebird数据库,建库的时候没有选择编码,当然,在delphi中,读写中文都是正常的。现在需要给原系统加个从别的数据库同步数据的功能,因为是远程同步,同步的数据量也不大,频率一天四次,就打算用嵌入式jetty,写个简单的handler实现这个功能,客户端采用httpclient进行数据上传。客户端与服务器之间用https双向认证的方式。

稀里哗啦一顿乱写,终于把基本代码写完了,一运行,晕了,同步过来的数据,写到firebird中,居然都是乱码。按firebird的jdbc驱动jaybird手册中说的,给jdbc连接串添加?lc_ctype=GBK也没有用,乱码依旧。

经过反复的测试,证明要写正确的字符到数据库中,别的方法我不知道,但下面的应急方法,还是有点用处,主要思路就是用preparestatement,字段内容以参数的方式写入,凡是字符串字段,不用setString方法,而是采用setBytes的方式,参数用GBK转码。

上代码片段:



转载于:https://my.oschina.net/kivensoft/blog/549365

文章来源: https://blog.csdn.net/weixin_34255793/article/details/92058671
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!