为什么mysql客户端字符集会有所不同,具体取决于哪个linux用户连接到mysql

时间:2012-09-07 09:51:10

标签: mysql

如果我以root身份登录我的linux框,然后在命令行上连接到mysql,在交互式提示符下键入“\ s”告诉我客户端字符集和连接字符集是utf8。如果我退出mysql,“su - bob”,连接到mysql(作为相同的mysql用户),然后在交互式提示符下键入“\ s”告诉我客户端字符集和连接字符集是latin1。

我在bob的环境中寻找root的环境差异,这可能是相关的,当以bob身份登录时,我将它们设置为与root用户相同的值并再次连接到mysql - 但我仍然看到latin1

有人可以解释造成这种差异的因素吗?

非常感谢, 保罗

1 个答案:

答案 0 :(得分:0)

mysql客户端使用LANG或LC_ALL本地环境变量来设置客户端和连接字符集。如果没有定义这些变量,那么我会使用默认字符集latin1。 因此,如果root和bob用户对这些env变量的值不同,那么当您从相应的OS用户进行连接时,客户端字符集将会有所不同。