问题描述
PBI连MySQL数据库,使用SQL查询语句包含中文字符,查询结果不对,SQL语句中的中文字符没有被识别到。
而在Navicat中查询结果是对的
并且从MySQL加载到PQ中的中文字符也有问题,用PQ对中文字符做筛选、替换等操作时,也是无法识别中文字符。
分析
猜测可能是字符编码问题,这里可能有两点问题:
- PQ代码(M语句)中的SQL语句部分是一堆字符串,可能这堆字符串需要做编码处理?
- MySQL本身有自己的字符编码类型,需要在连接数据库时对数据库的编码类型做定义?
解决
MySQL数据库时utf8字符编码
查询MySQL.Database这个函数的使用方法,发现定义编码的参数:Encoding
把Encoding = TextEncoding.Utf8参数加到MySQL.Database语句中,OK了!
, Encoding = TextEncoding.Utf8