我在JPA查询的where子句中使用了印地语字符。当我在控制台中使用show jpa打印查询时,字符被替换为????
。
我用过
value="${jdbc.url};databaseName=${jdbc.databaseName};useUnicode=true;characterEncoding=UTF-8"
在jdbc url中,但它不能解决问题。
遵循控制台输出。
休眠模式:选择设施0_.blockId作为列_0_0_,表单xpaths1_.xPath作为列_1_0_,表单xpaths1_.label作为列_2_0_,表单xpaths1_.formxpathScoreId作为列_3_0_,当?='all'时为大小写,当表单xpaths1_.xPath不在列中时为大小写(?,?,?,?)然后转换(浮点数,计数(当facilitysc0_.score =“???”时的大小写,然后以1结束))/CONVERT(浮点数,计数(当设备0_.score =“???”或设备0_.score =“????"或设备0_.score =”“或设备0_.score =”“时的情况,然后1结束))*100 else CONVERT(FLOAT,count(设备sc0_.score =“???”时的情况,然后1结束))/CONVERT(FLOAT,count(设备0_.score =“???”或设备0_.score =“????”时的情况,然后1结束))*100结束其他CONVERT(FLOAT,count(设备sc0_.score =“???”时的情况,然后1结束))/CONVERT(FLOAT,计数(设施0_.score =“???”或设施0_.score =“????”时的情况,然后1结束))*100结束为列_4_0_,?='all'时的大小写,则计数(如果设施0_.score =“???”或设施0_.score =“????”或设施0_.score =“?????”或设施0_.score =“”,则1结束)否则计数(如果设施0_.评分=“???”或设施0_.评分=“????”,则1结束)结束为列_5_0_,计数器(如果设施0_.score =“???”,则1结束)作为col_6_0_从设施得分设施0_.formXpathScoreId = formXpath1_.......................................................................................................................................................表单XpathScoreId内部连接设施上的上次访问数据上次访问2_.上次访问数据Id =上次访问2_.上次访问数据Id,其中表单xpaths1_.formId =?和(格式xpaths1_.type类似于'select_one yes_no %')和((设施0_.(?,?)中的分数)和(在(?,?,?,?)中形成xpaths1_.xPath)或(设施0_.在(?,?,?,?)中得分)和(formxpaths1_.xPath不在(?,?,?,?)中)并且?=“全部”或设施sc0_.score位于(?,?))和(上次访问2_.访问日期介于?和?之间)以及上次访问2_.是活的=1,按设施0_.blockId、表单xpaths1_.xPath、表单xpaths1_.label、表单xpaths1_.formxpathScoreId分组
请帮帮忙。
2条答案
按热度按时间5lhxktic1#
尝试将JDBC URL更改为
value="${jdbc.url};databaseName=${jdbc.databaseName};useUnicode=yes;characterEncoding=UTF-8"
注意useUnicode=yes
6l7fqoea2#
使用下列connectionProperties启用unicode
默认情况下,参数值是隐藏的,要检查正在绑定的值,应使用www.example.com启用日志记录log4j.properties
或者导入p6spyjar并spy.properties使用相应的jdbc驱动程序和日志文件位置更新www.example.com。