(本文档仅供参考)

问题

         使用原生sql数据集查询数据时,当参数或者where后面条件是中文时无法查询出数据,若是英文可以查询出数据,在数据库工具直接执行sql,无论where=中文或者英文都可以查询出数据。

问题原因

          此问题是因为客户所使用的数据源url链接有误导致的,我们产品使用的url链接本身是没有带amp;的(amp;代表的是html里面&的转义符号),去掉此字符后,查询正常,以下是错误以及正确的url链接:

          错误的url链接导致where=中文查询错误:

          jdbc:mysql://ip:端口/数据库名称?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false

          修改后正常的url链接:

          jdbc:mysql://ip:端口/数据库名称?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false