'MySQL command line formatting with UTF8
I have a database table that contains Swedish/Norwegian strings.
When I query some data, I get output like this:
Output with set names latin1;
+-----------------------------------+
| name |
+-----------------------------------+
| Kid Interi##### |
| Bwg Homes |
| If Skadef####kring |
| Jangaard Export |
| Nordisk Film |
+-----------------------------------+
Now if I set names utf8; in order to see the characters with their proper encoding, then the formatting of the tabular output of the MySQL command line breaks.
Output with set names utf8;
+-----------------------------------+
| name |
+-----------------------------------+
| Kid Interiør |
| Bwg Homes |
| If Skadeförsäkring |
| Jangaard Export |
| Nordisk Film |
+-----------------------------------+
Question:
This is not a big issue but it makes the output a bit harder to read. Does anybody know how to keep the tabular formatting intact?
Solution 1:[1]
These words "ø ö ä" with utf8 takes 2 bytes, so did you forget use wchar or utf string?
Here's my test code in python:
s = ["Kid Interiør","Bwg Homes","If Skadeförsäkring"]
for w in s:
print '|',w.ljust(20,' '),'|'
the result is as the same as your program print out.
all I need to do is change the encoding of string s:
s = [u"Kid Interiør",u"Bwg Homes",u"If Skadeförsäkring"]
for w in s:
print '|',w.ljust(20,' '),'|'
the result is
| Kid Interiør |
| Bwg Homes |
| If Skadeförsäkring |
I haven't test in c++, but I suggest you can use wchar, std::wcout.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Paul Stephenson |
