【问题标题】:Internationalization SQL/PHP/HTML国际化 SQL/PHP/HTML
【发布时间】:2011-01-06 21:54:31
【问题描述】:

我正在尝试了解网站的内部化,因此我正在篡改 MySQL 配置文件、字段排序规则和 html 标头字符集类型。 我基本上有一个表单,我在文本字段中键入一些 unicode 字符,将其存储在数据库中,然后将其输出回浏览器。 第一种情况:HTML=>utf8 MySQL=>UTF8,工作正常。但是,当我从 PhPMyAdmin 查看数据库时,奇怪的字符常驻在该字段中。 第二种情况:我通过选择 swedish_ci 排序规则将数据库中的 VARCHAR 配置为 Latin1。 HTML 仍然是 utf8。我在表单中输入了一个 unicode 字符串。但是,浏览器仍然显示我输入的正确字符!!!

为了让我理解起来更复杂,我下载了mysql世界数据库,它是世界所有国家和城市的数据库。这些表是 Latin1 编码的。当我尝试在 utf8 html 中显示它们时,它会为非英文字符显示奇怪的字符。当我的 html 字符集为 ISO-8591-1 时,它可以正常工作

【问题讨论】:

  • 您的实际问题是什么?
  • 在Latin1表格中插入unicode字符时,浏览器如何正确显示字符?

标签: mysql encoding internationalization set character


【解决方案1】:

如果您使用 utf-8,则应始终将 utf-8 用于 HTML,在 MySQL 中使用 utf8 字符集,在 MySQL 排序规则中使用 utf8_general_ci 或 utf8_unicode_ci。而且你的php文档必须保存为utf-8,没有BOM。

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 2012-08-14
    • 2018-05-12
    相关资源
    最近更新 更多