157

’の代わりに が私のページに表示されています'

タグと HTTP ヘッダーの両方に次のようにContent-Type設定しています。UTF-8<head>

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

ここに画像の説明を入力

さらに、私のブラウザは次のように設定されていUnicode (UTF-8)ます。

ここに画像の説明を入力

では、何が問題で、どうすれば修正できますか?

4

12 に答える 12

249
于 2010-03-19T13:08:44.857 に答える
59

ブラウザーとエディターが ISO-8859-1/Windows-1252 ではなく UTF-8 エンコードを使用していることを確認してください。

または使用します&rsquo;

于 2010-03-19T13:06:12.220 に答える
17
于 2015-06-19T00:02:25.360 に答える
14

これは、文字列がWindows-1252 から UTF-8 に2 回変換された場合に発生することがあります。

おそらく MySQL 接続が正しい文字セットを指定していないために、Zend/PHP/MySQL アプリケーションでそのような文字がデータベースに表示されていました。次のことを行う必要がありました。

  1. Zend と PHP がデータベースと UTF-8 で通信していることを確認します (デフォルトではありませんでした)。

  2. このようないくつかの SQL クエリで壊れた文字を修復します...

    UPDATE MyTable SET 
    MyField1 = CONVERT(CAST(CONVERT(MyField1 USING latin1) AS BINARY) USING utf8),
    MyField2 = CONVERT(CAST(CONVERT(MyField2 USING latin1) AS BINARY) USING utf8);
    

    必要な数のテーブル/列に対してこれを行います。

必要に応じて、これらの文字列の一部を PHP で修正することもできます。文字が2 回エンコードされているため、実際には UTF-8からWindows-1252 に逆変換する必要があり、最初は戸惑いました。

mb_convert_encoding('’', 'Windows-1252', 'UTF-8');    // returns ’
于 2016-07-15T09:05:22.903 に答える
10

文字エンコーディングが一致していません。あなたの文字列はあるエンコーディング(UTF-8)でエンコードされており、このページを解釈しているものは別のものを使用しています(ASCIIなど)。

常に http ヘッダーでエンコーディングを指定し、これがフレームワークのエンコーディングの定義と一致していることを確認してください。

http ヘッダーの例:

Content-Type    text/html; charset=utf-8

asp.net でのエンコーディングの設定

<configuration>
  <system.web>
    <globalization
      fileEncoding="utf-8"
      requestEncoding="utf-8"
      responseEncoding="utf-8"
      culture="en-US"
      uiCulture="de-DE"
    />
  </system.web>
</configuration>

jsp でエンコーディングを設定する

于 2010-03-19T13:09:09.607 に答える
7

コンテンツ タイプが既に UTF8 である場合、データが既に間違ったエンコーディングで到着している可能性があります。データベースからデータを取得する場合は、データベース接続で UTF-8 が使用されていることを確認してください。

これがファイルからのデータである場合は、ファイルが UTF-8 として正しくエンコードされていることを確認してください。通常、これは、選択したエディターの [名前を付けて保存...] ダイアログで設定できます。

ソース ファイルで表示したときにデータが既に破損している場合は、以前は UTF-8 ファイルでしたが、途中で間違ったエンコーディングで保存された可能性があります。

于 2010-03-19T13:08:44.317 に答える
5

WordPress Web サイトでこのエラーが発生した場合は、wp-config db charset を変更する必要があります。

define('DB_CHARSET', 'utf8mb4_unicode_ci');

それ以外の:

define('DB_CHARSET', 'utf8mb4');
于 2016-03-08T09:13:12.720 に答える
0
于 2019-10-23T00:09:09.357 に答える
0

Word ドキュメントからテキストをコピーして貼り付ける必要があります。Word 文書はスマート クォートを使用します。これを特殊文字 (’) に置き換えるか、HTML エディター (') に入力するだけです。

これで問題が解決すると確信しています。

于 2015-09-04T10:41:32.980 に答える