12

私はこれらの漢字を持っています:

汉字/漢字''test

私が行った場合

echo utf8_encode($chinesevar);

表示されます

??/??''test

または私が単純なことをしたとしても

echo $chinesevar

それでもいくつかの奇妙な文字が表示されます...

では、UTF-8で<meta>タグを使用せずにこれらの漢字を表示するにはどうすればよいでしょうか..またはinit_set UTF-8で、さらにはUTF-8でheader()を使用しますか?

4

5 に答える 5

15

単純:

  1. ソースコードをUTF-8に保存します
  2. HTTPヘッダーを出力して、UTF-8を使用してページを解釈するようにブラウザーに指定します。

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

終わり。

utf8_encodeLatin-1でエンコードされた文字列をUTF-8に変換するためのものです。あなたはそれを必要としません。

詳細については、「WebアプリでのUnicodeの前面から背面への処理」を参照してください。

于 2012-11-21T15:20:04.227 に答える
2

ファイルがBOMなしのUTF8であり、WebサーバーがサイトをUTF-8で配信していることを確認してください

HTML:

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

PHPの場合:

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

また、データベースを操作する場合は、データベースからテキストを読み取ると、データベースがUTF-8になっていることを確認してください。

于 2012-11-21T15:21:01.557 に答える
1

$ chinesevarOK = mb_convert_encoding($ chinasevar、'HTML-ENTITIES'、'UTF-8');

于 2020-09-09T10:29:53.817 に答える
0

おそらく、次の解決策を見てください。

  1. データベーステーブル、およびフィールドCOLLATEはutf8_unicode_ciである必要があります
  2. レコードがデータベース内で正しい文字を示しているかどうかを確認してください...
  3. HTMLをutf8に設定します

  4. データベースに接続した後、phpに次の行を追加します

    mysqli_set_charset($ con、 "utf8");

http://www.w3schools.com/php/func_mysqli_set_charset.asp

于 2016-06-02T12:21:41.393 に答える
0

ソースコードをUTF-8に保存しますBOMなし

于 2020-08-30T04:06:28.067 に答える