使用UTF8时,mysql表在控制台输出中未对齐

时间:2013-10-24 07:54:57

标签: utf-8 console mysql

我喜欢使用mysql客户端。但是当使用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字符的字符串长度来计算列的宽度 - 因此每个重音字符只缺少一个空格(因为这些实际上需要两个字节) )。

您是否知道此问题可能的解决方法?

1 个答案:

答案 0 :(得分:1)

使用charset选项运行您的mysql客户:

mysql -uUSER -p DATABASE --default-character-set=utf8

USERDATABASE应替换为实际凭据数据)