ser*_*nni 3 mysql command-line character-set
有腻子连接。
Putty 配置:
窗口-->翻译-->远程字符集-->utf-8
启动命令行MySQL
客户端。
使用西里尔字母执行插入,例如:
CREATE TABLE `category` (
`catName` varchar(40) NOT NULL DEFAULT '',
PRIMARY KEY (`catName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into category(catName) values ('????????');
Run Code Online (Sandbox Code Playgroud)
结果是损坏的西里尔文符号插入到 DB 中。
默认情况下,MySQL 服务器为每个传入连接使用 latin1 字符集。您可能知道,Latin1不支持西里尔符号。
最简单的解决方案是通过SET NAMES 'utf8';
在每个连接的开头运行来切换所谓的“连接字符集” 。
例如,这个查询应该可以工作:
SET NAMES 'utf8';
CREATE TABLE `category` (
`catName` varchar(40) NOT NULL DEFAULT '',
PRIMARY KEY (`catName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into category(catName) values ('?????? ??????-?????????? ???????');
Run Code Online (Sandbox Code Playgroud)
要了解 MySQL 中的字符集以及如何进行上述更改,请参见此处。