0

当我使用var_dump($obj)时,我有一个 PHP 对象显示如下值:

object() (1) { ["name"]=> string(3) " " ... }

但是当我打印 $obj->name时,浏览器会显示“ Lê ”。

我的浏览器显示 UTF-8。HTML 字符集也设置为 utf-8。

我尝试了一些功能,但我没有解决这个问题。

你能帮我解决这个问题吗?谢谢。

编辑:

我已经检查了以下所有项目:

  1. header('Content-Type: text/html; charset=utf-8');
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  3. 我的浏览器显示 UTF-8
  4. $obj 是从 db 表中获取的,该表将“字符集”设置为 utf-8,将“排序规则”设置为 utf8_general_ci
  5. PHP 文件被编码为 UTF-8

在此处输入图像描述

4

1 回答 1

2

设置一个 UTF-8 header('Content-Type: text/html; charset=utf-8');

我刚刚在 PHP5.4.8、nginx、Ubuntu 12.04 和 Firefox 上对此进行了测试。AFAIK,至少在过去 5 年中,您几乎可以在任何 PHP 堆栈中获得相同的结果。

<?php

$mystring = 'Lê';

print $mystring;

输出:Lê

<?php

header('Content-Type: text/html; charset=utf-8');

$mystring = 'Lê';

print $mystring;

输出:Lê

于 2013-02-06T10:22:37.367 回答