MySQL命令行格式与UTF8
我有一个包含瑞典/挪威string的数据库表。
当我查询一些数据,我得到这样的输出:
 输出set names latin1; 
 +-----------------------------------+ | name | +-----------------------------------+ | Kid Interi##### | | Bwg Homes | | If Skadef####kring | | Jangaard Export | | Nordisk Film | +-----------------------------------+ 
 现在,如果我set names utf8; 为了看到具有适当编码的字符,MySQL命令行的表格输出的格式会被破坏。 
 输出set names utf8; 
 +-----------------------------------+ | name | +-----------------------------------+ | Kid Interiør | | Bwg Homes | | If Skadeförsäkring | | Jangaard Export | | Nordisk Film | +-----------------------------------+ 
题:
这不是一个大问题,但它使输出有点难以阅读。 有谁知道如何保持表格格式不变?
 用选项--default-character-set=utf8启动客户端。 
 mysql --default-character-set=utf8 
 这将强制character_set_client , character_set_connection和character_set_resultsvariables为utf8。 
有关连接字符集的更多信息
 您可以将它设置为my.cnf文件中的默认选项,在每次调用mysql客户端时, [mysql]节将自动包含该选项。 
 [mysql] default-character-set=utf8 
这些带有utf8的“øöä”需要2个字节,所以你忘记使用wchar或utfstring?
这是我的testing代码在Python中:
 s = ["Kid Interiør","Bwg Homes","If Skadeförsäkring"] for w in s: print '|',w.ljust(20,' '),'|' 
 结果就像你的程序打印出来一样。 我所需要做的就是改变strings的编码: 
 s = [u"Kid Interiør",u"Bwg Homes",u"If Skadeförsäkring"] for w in s: print '|',w.ljust(20,' '),'|' 
结果是
 | Kid Interiør | | Bwg Homes | | If Skadeförsäkring | 
我没有在c ++中testing,但我build议你可以使用wchar,std :: wcout。