当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码?

当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 怎么才能解决问题,跟jdbc driver Manager的设置有关系吗?

9个回答

数据库字符集 与 页面编码 都使得 是 uft-8?得统一

建议编码格式采用UTF-8的格式

在使用数据的每一个节点上,其编码方式必须要一致否则就会出现乱码。特别是使用MySQL时,客户端,连接器、数据库的编码都要一致。最好都设置为utf-8编码。

你创建数据库的时候使用的什么编码和你编码的环境需要一致

开发环境中和数据库中编码集不一致

你要插入的数据的编码与数据库的编码格式不统一。

确实是与有关,目前大多数JDBC driver采用本地编码格式来传输中文字符,例如中文字符"0x4175"会被转成"0x41"和"0x75"进行传输.如果你是手写代码的话需要手动转换,用开发工具应该只要设置编码集就好了。

项目中的编码格式和数据的编码格式要一致,项目的编码格式可以在eclipse中设置,数据编码在你创建的时候会提示你选择什么编码;
至于你取出来的时候数据是乱码,要查看一下你数据中的数据是不是本来就乱码。

编码格式最好都统为UTF-8

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐