当我从 mysql 控制台进行查询并且它具有重音符号或任何需要 utf-8 编码的字符时,它会被抢劫
INSERT INTO users (userName) VALUES ("José Alarcón");
SELECT userName FROM users;
José Alarcón
SET NAMES utF8
没有任何改变--default-character-set=utf8
,因为参数没有改变 请记住,这仅来自控制台。如果我使用 phpmyadmin 或从程序中进行任何查询,则完全没有问题,但是从控制台插入的行会被篡改。我在 Windows 上使用腻子作为客户端
~$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
澄清:我本地电脑是windows XP,我使用putty 0.60作为终端客户端。MySQL 运行的目标系统是 Debian linux 我在 putty 中找不到任何字符编码配置...
更新:愚蠢的 PuTTY,在名为“翻译”WTF 的菜单中有编码配置?