首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL中的字符编码问题

MySQL中的字符编码问题
EN

Stack Overflow用户
提问于 2010-03-15 01:48:15
回答 1查看 3.8K关注 0票数 0

在我的数据库中,我们有数据不可读的字段。我现在知道它为什么会发生了,但我不知道如何修复它。

我找到了一种从数据库中取回信息的方法:

代码语言:javascript
复制
SELECT id,
       name 
  FROM projects 
 WHERE LENGTH(name) != CHAR_LENGTH(name);

返回的其中一行显示:

代码语言:javascript
复制
id   | name
-------------------------
1008 | Cajón el Diablo

这应该是:

代码语言:javascript
复制
id   | name
-------------------------
1008 | Cajón el Diablo

有人能帮我弄清楚如何解决这个问题吗?如何使用SQL进行转换?SQL不好吗?如果不是,那Python呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-15 01:54:11

您的mySQL数据很可能是UTF8编码的。

查看数据所使用的工具或客户端是

在编码与UTF-8不同的环境(例如,以(SET NAMES utf8)

  • Outputting -8859-1编码的网页)中,
  • 未使用UTF-8 (SET NAMES utf8)
  • Outputting UTF-8字符与mySQL服务器通信。

您需要在连接到mySQL数据库时指定正确的字符集,或者转换传入字符以便正确输出。

要获得更多信息,您必须告诉我们您的数据库和表在什么排序规则中,以及您正在使用什么来查看数据。

如果你想了解这方面的基础知识,这是非常好的读物:The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

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

https://stackoverflow.com/questions/2443082

复制
相关文章

相似问题

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