1
<html>
    <head>
        <title>тест</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

メタ タグを設定しましたが、ブラウザー (Chrome) を開くたびに、動作させるためにTools -> Encodingエンコーディングをオンに設定する必要があります。UTF-8

ブラウザが適切な UTF-8 を表示するように、この手順を回避する方法はありますか?

4

3 に答える 3

6

Web サーバーはおそらくContent-Type、別の .xml を持つヘッダーを送信していますcharset<meta>これはタグよりも優先されます。curl(* nix システムが必要)を使用して、コマンド ラインでこれを確認します。

curl -i http://example.com/yourpage.php

応答の先頭にある http ヘッダーを見て、ヘッダーを見つけますContent-Type

これは、いくつかの方法で修正できます。

  1. 適切な文字セットを送信するように Web サーバー (おそらく Apache) を構成します。については、Apache ドキュメントをAddDefaultCharset参照してください。

  2. Content-Type関数を使用して、スクリプト内でヘッダーを設定しますheader()。このような:

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

    ただし、この呼び出しは、ブラウザーへの他の出力よりも前に行ってください。そうしないと、PHP が停止してしまいます。

于 2012-05-09T18:01:38.170 に答える
1

正しい順番は

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>тест</title>

また、php コードの他の出力の前、さらには埋め込まれた html の前にも含めます。

header('Content-Type: text/html; charset=utf-8'); 
于 2012-05-09T18:03:17.147 に答える
0

When you use a text editor to view your content try to see your enconding: If the file enconding is different use this PowerShell script to change your enconding to UTF-8. After that you need to upload again your files into teh web server.

Get-ChildItem *.php -Recurse | ForEach-Object {
$content = $_ | Get-Content

Set-Content -PassThru $_.Fullname $content -Encoding UTF8 -Force}
于 2021-02-18T00:12:27.403 に答える