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 は、「文字セット」を utf-8 に、「照合」を utf8_general_ci に設定した db テーブルから取得されます。
  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 でテストしました。私の知る限り、少なくとも過去 5 年間のほぼすべての PHP スタックで同じ結果が得られます。

<?php

$mystring = 'Lê';

print $mystring;

出力: Lê

<?php

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

$mystring = 'Lê';

print $mystring;

出力: レ

于 2013-02-06T10:22:37.367 に答える