【问题标题】:Getting Encoding Issue Even when Header to Set UTF-8 is Used即使使用设置 UTF-8 的标头也会出现编码问题
【发布时间】:2013-12-12 10:47:53
【问题描述】:

我有一个 PHP 脚本:

<?php
header('Content-Type: text/plain; charset=utf-8');//i have already used the 
  //header for encoding to utf-8

//rest of the code.
?>

我已经使用标头编码为 UTF-8,但是当从 MySQL 数据库中获取值并回显时,它们没有像在我的 MySQL 数据库中那样显示正确的输出。

详细说明:

我有一个打印屏幕可以正确显示数据。

但是当我以 PDF 格式导出相同的数据时,就会出现编码问题。

所以我认为这不是数据库问题。

还负责将文档导出为 PDF 的 PHP 代码包含上述标头以设置 UTF-8。

示例:

“Meeùs” 显示为 “Mees”

注意:

我的数据库已经设置为 UTF-8。

我做错了什么?

【问题讨论】:

  • 您将数据保存到非 UTF8 格式的数据库中
  • @Lukas 我保存的数据是 utf-8 格式

标签: php encoding utf-8 joomla1.5


【解决方案1】:

这个症状清楚地表明了数据库和php之间的编码问题,而不是php和浏览器之间的编码问题。

MySQL 需要一个

SET NAMES 'utf8';

在每个连接上。

如果你的表也是 utf8 格式会更好,尽管 mysql 具有所需的即时转换功能,如果不是的话。

【讨论】:

    【解决方案2】:

    因为你的数据库不是 UTF8。

    尝试将您的数据库编码设置为UTF-8,或在从数据库中提取后在您的代码中使用utf8_encode($data)

    检查您的 IDE 是否在没有 BOM 的情况下将您的文件编码为 utf-8。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-09
      • 2021-01-21
      • 2021-08-25
      • 2013-07-24
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多