【问题标题】:Special Characters in MySQL and HTMLMySQL 和 HTML 中的特殊字符
【发布时间】:2018-07-25 00:47:30
【问题描述】:

我有几个关于 MySQL、python 和 HTML 之间的字符编码的问题。

情况是这样的。我有一个 python 脚本,它从网站获取信息并将其加载到 MySQL 表中。然后我有一个 PHP 和 HTML 前端,它从表中获取数据并将其加载到 HTML 表中。我遇到了我认为只是所有这些语言和平台之间的一些编码不一致的问题。我已经包含了在 shell 中运行 python 脚本的结果图片,以及 MySQL 中的结果输出,最后是 HTML 前端。

当我从 python 加载到 MySQL 时,它可以很好地处理像“degrees”或“micro”这样的符号,但不喜欢“ohms”(我认为这就是导致 python shell 中的错误语句的原因)。当我从 MySQL 转到 HTML 时,它不喜欢任何特殊字符,如“度”、“欧姆”或“微”。这里发生了什么,有没有办法解决它?

希望有人能对此有所了解,因为我在处理字符编码时非常困惑并且有点新手。

【问题讨论】:

  • CEA9 是希腊欧米茄(欧姆)的十六进制数。

标签: python html mysql character-encoding


【解决方案1】:

尝试更改 mysql 数据库编码。

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

How to convert an entire MySQL database characterset and collation to UTF-8?

【讨论】:

  • 好吧,我已经尝试执行您的代码,但加载需要很长时间。有什么建议吗?
  • 你的桌子有多大?如果这是修复,它可能只适用于新记录
  • 截至目前,我的表格只有 3 行和大约 12 列。一旦我能解决这些错误并导入更多数据,它就会变成一个更大的表。
  • 那么应该需要几秒钟。尝试: ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
【解决方案2】:

还不错。 MySQL 只是将特殊字符写为e.g. ð,但是当您选择它返回给您的应用程序时,它会正确显示。

我为 HTML 页面粘贴了示例,但对于 Python 是一样的 :)


但是当它显示问号符号时,字符集有问题,所以检查你的数据库是否有utf8_general_ci 编码

【讨论】:

    猜你喜欢
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多