Re: How to get the MySQL Command-Line Tool to display Unicode properly?

Roger House <[email protected]> Thu, 15 Mar 2018 14:06:54 -0700
Newsgroups gmane.comp.db.mysql.general
Message-ID <[email protected]>

On 03/15/2018 11:30 AM, shawn l.green wrote:
> Hi Roger,
>
> (please note, this is a bottom-post forum)
>
> On 3/13/2018 7:54 PM, Roger House wrote:
> >
> > On 03/13/2018 03:11 PM, Reindl Harald wrote:
> >>
> >>
> >> Am 13.03.2018 um 22:59 schrieb Roger House:
> >>> In all respects except one, the treatment of Unicode works just fine.
> >>> I can write Unicode to database tables, read it, display it, etc.,
> >>> with no problems. The exception is mysql, the MySQL Command-Line
> >>> Tool. When I execute a SELECT statement to see rows in a table
> >>> containing the Venus and Mars Unicode characters, here is what I see
> >>> on the screen:
> >>>
> >>> || Venus | ♀ | | Mars | ♂ | |
> >>>
> >>> What I should see in the right column are the standard glyphs for
> >>> Venus and Mars.
> >>>
> >>> Any ideas about how to get the MySQL Command-Line Tool to display
> >>> Unicode properly?
> >> what operating system
> >> what terminal
> >>
> >> all recent Linux systems have UTF8 as default
> >>
> >
> >
>> I am running Ubuntu MATE 16.04.  I have the problem also on Windows 7
>> and on Mac OS Version 10.11.6.  I do not think that the problem has to
>> do with the operating system nor the terminal.  Everything about the
>> Unicode text works fine in all tools such as editors, the cat command,
>> etc.  It is only when I am running mysql and I issue a SELECT command to
>> see what is in a row.  Then the UTF-8 is not rendered properly. I
>> believe the problem is with mysql.
>>
>> Roger
>>
>
> If I presume that your terminal has a code page that is 
> utf8-compatible (you say that cat command renders the multibyte 
> characters just fine) then it could be your client-side mysql settings 
> that are rendering those multibyte characters into individual glyphs 
> based on their individual byte values.
>
> The next time you are in mysql and have a chance to look at some utf8 
> data, please collect and share these two reports:
>
> status
> SHOW GLOBAL VARIABLES like '%haracter%';
>
> (you can obfuscate any sensitive details like server names or addresses)
>
> Yours,
Here is the requested info:

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using EditLine wrapper

Connection id:        5
Current database:    ephemeris
Current user:        root@localhost
SSL:            Not in use
Current pager:        stdout
Using outfile:        ''
Using delimiter:    ;
Server version:        5.7.21-0ubuntu0.16.04.1 (Ubuntu)
Protocol version:    10
Connection:        Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    latin1
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:        /var/run/mysqld/mysqld.sock
Uptime:            6 hours 17 min 8 sec

Threads: 1  Questions: 28  Slow queries: 0  Opens: 122 Flush tables: 1  
Open tables: 41  Queries per second avg: 0.001
--------------

mysql> show global variables like '%haracter%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql