Utf 8 使用UTF8时,控制台输出中的mysql表未对齐
我喜欢使用Utf 8 使用UTF8时,控制台输出中的mysql表未对齐,utf-8,console,mysql,Utf 8,Console,Mysql,我喜欢使用mysqlclient。但当使用UTF-8时,控制台上的表未对齐: > set names utf8; > [some query] +--------+---------+---------------------------------+-----------------------------+----------+---------+-----------+-------+---------+-----------+ | RuleId | TaxonId | Not
mysql
client。但当使用UTF-8时,控制台上的表未对齐:
> set names utf8;
> [some query]
+--------+---------+---------------------------------+-----------------------------+----------+---------+-----------+-------+---------+-----------+
| RuleId | TaxonId | Note | NoteSci | MinCount | DayFrom | MonthFrom | DayTo | MonthTo | ExtraNote |
+--------+---------+---------------------------------+-----------------------------+----------+---------+-----------+-------+---------+-----------+
| 722 | 10090 | sedmihlásek malý | Hippolais caligata | 1 | 1 | 1 | 31 | 12 | NULL |
| 727 | 10059 | Anseranas semipalmata | husovec strakatý | 1 | 1 | 1 | 31 | 12 | NULL |
| 728 | 10062 | Cygnus atratus | labuť černá | 1 | 1 | 1 | 31 | 12 | NULL |
| 729 | 10094 | Anser cygnoides | husa labutí | 1 | 1 | 1 | 31 | 12 | NULL |
| 730 | 10063 | Tadorna cana | husice šedohlavá | 1 | 1 | 1 | 31 | 12 | NULL |
| 731 | 10031 | Cairina moschata f. domestica | pižmovka domácí | 20 | 1 | 1 | 31 | 12 | NULL |
| 732 | 10088 | Cairina scutulata | pižmovka bělokřídlá | 1 | 1 | 1 | 31 | 12 | NULL |
| 733 | 10087 | Anas sibilatrix | hvízdák chilský | 1 | 1 | 1 | 31 | 12 | NULL |
| 734 | 10077 | Anas platyrhynchos f. domestica | kachna domácí | 1000 | 1 | 1 | 31 | 12 | NULL |
| 735 | 10086 | Anas hottentota | čírka hottentotská | 1 | 1 | 1 | 31 | 12 | NULL |
|
这显然是因为mysql客户端将使用不考虑UTF-8字符的字符串长度来计算列的宽度,因此每个重音字符正好缺少一个空格(因为它们实际上需要两个字节)
您知道此问题可能的解决方法吗?使用以下选项运行您的
mysql
客户端:
(
用户
和数据库
应替换为实际凭证数据)奇怪的是,只有这一点起作用,显示变量
中的变量都没有这种效果!我试图将它们全部设置为utf8
,但没有效果!为什么奇怪?变量(通常)与客户端无关——它们都是服务器变量。因此,要更改客户端行为-您需要应用客户端选项nope,许多变量会影响客户端显示数据的方式(在哪个字符集中)。我猜这些被称为连接变量,不是所有的都是服务器变量。是的,这就是为什么我在一般情况下添加了。你也看到,奇怪的是,一些客户端行为是由变量处理的,而一些不是。。。
mysql -uUSER -p DATABASE --default-character-set=utf8