我在Windows服务器上托管了一个MySQL数据库。当我使用mysql控制台从各种Windows机器查询特定记录时,我得到Päivi
(不正确)。当我使用mysql控制台从各种* nix机器查询相同的记录时,我得到Päivi
(正确)。我正在使用的查询是一个简单的SELECT firstname FROM users WHERE id = 12345;
。
我的数据库排序规则是utf8,字段排序规则是utf8,我在运行查询之前尝试使用set names 'utf8';
。
为什么Windows机器会返回不同的结果? Windows可能会缺少某些字符吗?这是正常/预期的行为吗?我不是编码或语言专家,所以任何反馈都会有所帮助。
答案 0 :(得分:2)
连接到服务器后,从MySQL控制台客户端,键入以下命令以查看当前客户端字符集:
status;
要进行设置,请使用以下命令:
set names latin1;
答案 1 :(得分:0)
我不确定使用ANSI代码页的Windows控制台是否仍然是多字节的。如果是这样就会出现问题。结果可能是正确的,但控制台显示错误。