2
我喜歡使用mysql
客戶端。但是,使用UTF-8時,在控制檯上的表不對齊:使用UTF8時,控制檯輸出中的mysql表未對齊
> 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字符考慮計算列的寬度 - 那麼每個重音字符只有一個空格缺失(因爲這些字符實際需要兩個字節)。
你知道這個問題可能的解決方法嗎?
很大,這個作品!謝謝! – TMS
奇怪的是,只有這樣才行 - 「show variables」中的變量都沒有這個效果!我試圖將@@'全部設置爲'utf8',但沒有效果! – TMS
爲什麼很奇怪?變量(通常)與_client_無關 - 它們都是_server_變量。因此,要更改客戶端行爲 - 您需要應用_client_選項 –