mysql数据库中文显示为“?”解决

问题:

本来在连接数据库时,url是这样的:

String DB_URL = "jdbc:mysql://localhost/ontology”

可是数据库中的汉字却成了“?”,我是将protege建立的owl文件持久化到数据库中的,还以为是protege不支持中文,经过检查发现,是数据库保存的时候出错了,改成下面的方式就好了:

解决方法:

String DB_URL = "jdbc:mysql://localhost/ontology?useUnicode=yes&characterEncoding=utf8";

总结:

为了使构建的本体持久化到数据库中的中文编码可以被识别,而不是以?的形式存入数据库,以下4点一定要注意:

1、建立本体的时候请采用utf-8编码,这个一般没有问题,Protege为了便于共享,因此默认支持的utf-8的编码方式;
2、Java开发环境的编码设置成utf-8;
mysql数据库中文显示为“?”解决_第1张图片
3、存本体的数据库字符集设置成utf-8;
mysql数据库中文显示为“?”解决_第2张图片
4、用jdbc连数据库(mysql)的时候 ,在DB_URL后需要加上”useUnicode=yes&characterEncoding=utf8″。

你可能感兴趣的:(mysql数据库中文显示为“?”解决)