首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PuTTY和命令行客户端在MySQL精选中渲染中文/utf8字符

问使用PuTTY和命令行客户端在MySQL精选中渲染中文/utf8字符
EN

Stack Overflow用户
提问于 2011-11-07 01:08:47
回答 1查看 3.2K关注 0票数 1

有没有什么好的、直接的方法可以在使用PuTTY连接的同时使用MySQL的普通命令行客户端连接到MySQL数据库,并让它正确地呈现包含非西方字符的UTF8字段?

我的表使用UTF8编码,在正常使用中,这些值来自安卓应用程序,并由安卓应用程序显示。问题是偶尔会出问题,当发生问题时,我几乎不可能弄清楚发生了什么,因为MySQL的命令行客户端强制将UTF8值强制转换为(看起来是) ISO-8859-1 (即在屏幕上显示的准随机胡言乱语)。无论如何,Toad For MySQL (免费和测试版)似乎以同样的方式破坏了UTF8输出。

在半相关的注释中,我最喜欢的等宽字体是Andale Mono (是的,我真的喜欢强制消除歧义的0/O和1/l字符)。我很确定它不包括CJK字符。有没有什么(免费)实用程序可以用来从一种Truetype字体(如Andale Mono)中提取出较低的127或256个字符,并基于某些UTF8 CJK Truetype字体创建一个新的Truetype字体,用从Andale Mono中提取的字体数据替换较低的127或256个字符?

EN

回答 1

Stack Overflow用户

发布于 2011-11-07 01:34:57

首先,您应该确保您的控制台编码设置为UTF-8。使用PuTTY,你需要在“窗口”>“翻译”中将字符集下拉设置为UTF-8

第二个MySQL区分数据字符集和连接字符集。如果您的数据是UTF-8编码的,但您的连接字符集设置为例如"ISO-8859-1“MySQL将自动转换输出。

永久设置字符集的最简单方法是使用以下内容更新客户端my.cnf:

代码语言:javascript
复制
[client]
default-character-set=utf8

有关连接字符集的详细信息,可在此处找到:http://dev.mysql.com/doc/refman/5.5/en/charset-connection.html

当使用PHP函数时(例如MySQL客户端)您可以通过发送查询来设置连接字符集

代码语言:javascript
复制
SET NAMES utf8

MySQL应用编程接口的各种实现也支持直接设置字符集。例如http://www.php.net/manual/en/mysqli.set-charset.php

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8028750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档