明道学苑

学而不思则罔,思而不学则殆

0%

MySQL Shell环境下无法正确执行包含中文字符SQL语句

服务器和本地shell环境字符集不一致时,SQL语句包含中文字符时,无法正确执行,本文说明这个问题的解决办法。

mysql -u -p database < file.sql批量执行SQL语句时,当file.sql中包含中文字符时,在本地环境可以正确执行,在托管服务上无法执行。比如使用

select * from table where name lik "%张三%;"

即使数据库中存在符合条件的记录,mysql也不返回任何结果。初步判断应该是字符集编码的差异,通过在命令中加上参数指定字符集:

mysql --default-character-set=utf8

指定字符集后运行结果正确。