【问题标题】:Spanish Characters Not Encoding Correctly西班牙语字符编码不正确
【发布时间】:2011-02-18 01:46:34
【问题描述】:

我正在菲律宾开展一个项目,在该项目中,许多人的名字中都有特殊的拉丁波浪字符。

我有一个使用 latin1_swedish_ci 排序规则的 latin1 中所有表的数据库。

+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | latin1                         |
| character_set_connection | latin1                         |
| character_set_database   | latin1                         |
| character_set_filesystem | binary                         |
| character_set_results    | latin1                         |
| character_set_server     | latin1                         |
| character_set_system     | utf8                           |
| character_sets_dir       | C:\xampp\mysql\share\charsets\ |
+--------------------------+--------------------------------+

我的网页标题将 iso-8859-1 声明为字符集。

例如,当我通过 Web 表单提交包含波浪字符的员工姓名时,它在我的表格中显示为“Marie Cañon”,并且在我查看员工记录时在我的网页上显示为相同。

如果我将网页编码更改为 utf-8,它会正确显示为“Marie Cañon”。所以,我假设我在我的 latin1 表中以某种方式编码 UTF-8。但我很困惑这可能发生在哪里。

据我所知,PDO 不处理编码。我的网页被声明为 iso-8859-1,所以我认为 PHP 不会导致问题。我的 character_set_connection 在 MySQL 中是 latin1。

这可能发生在哪里?

附加信息: Ubuntu 10.04.2 LTS MySQL 5.1.41-3ubuntu12.9-日志 PHP5:5.3.2 Apache2:2.2.14

【问题讨论】:

  • 理想情况下,您将所有内容编码为 UTF-8。使用 Latin1 是自找麻烦。

标签: php mysql character-encoding pdo


【解决方案1】:
  1. 将您的 MySQL 切换为 utf-8。
  2. 安装 mbstring PHP 扩展并进行配置。
  3. 制作您的 PHP 标头:header('Content-type: text/html; charset=UTF-8');
  4. HTMLheaders <meta http-equiv="Content-type" value="text/html; charset=UTF-8" />
  5. 检查此cheat sheet

【讨论】:

  • Costis,谢谢你的帖子!我将考虑尽快将我的数据库转换为 UTF-8。目前,我希望使 iso-8859-1 工作。据我所知,我应该能够让我的 iso-8859-1 页面将特殊的西班牙语字符发送到 latin1 编码表。再次感谢!
【解决方案2】:

这对我有用:

$title = mb_convert_encoding($article['title'], "UTF-8", "iso-8859-1");

西班牙口音

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2011-08-28
    • 2021-04-10
    • 1970-01-01
    相关资源
    最近更新 更多