ホームページ >バックエンド開発 >PHPチュートリアル >MySQL と PHP で壊れ​​た UTF-8 エンコーディングを修正するにはどうすればよいですか?

MySQL と PHP で壊れ​​た UTF-8 エンコーディングを修正するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-26 05:24:09975ブラウズ

How to Fix Broken UTF-8 Encoding in MySQL and PHP?

壊れた UTF-8 エンコーディングを修正する

UTF-8 エンコーディングを扱うとき、正しくないために î のような壊れた文字が発生することがよくあります。取り扱い。この問題は、データベース構成、PHP 設定、またはテキスト エディターのエンコードによって発生する可能性があります。

MySQL 文字セットと PHP ヘッダー

MySQL データベースが UTF を使用していることを確認してください。 -8 照合順序 (utf8_general_ci など)。さらに、PHP コードに次のような適切な UTF-8 ヘッダーが含まれていることを確認します。

<?php
header("Content-Type: text/html; charset=utf-8");
?>

メモ帳と phpMyAdmin の確認

メモ帳が使用するように構成されていることを確認します。 BOM なしの UTF-8。 phpMyAdmin で、データ表示と SQL エクスポートの両方で文字エンコードが UTF-8 に設定されていることを確認します。

壊れたアクセント文字の識別

すべてのアクセント文字が使用できるわけではありませんが、影響を受ける、一般的な壊れたシーケンスには、î、Ã、および Ãâ⁄ が含まれます。これらの文字は、それぞれ「e」、「i」、「u」のアクセント付きバージョンを表します。

解決策: 二重エンコードの修正

二重エンコードが疑われる場合UTF-8 文字の場合は、次の手順の使用を検討してください:

  1. MySQL データをダンプする使用方法:
mysqldump -h DB_HOST -u DB_USER -p DB_PASSWORD --opt --quote-names \
--skip-set-charset --default-character-set=latin1 DB_NAME > DB_NAME-dump.sql
  1. データを UTF-8 文字セットに再ロードします:
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
--default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

このプロセスは、二重エンコードされた文字を強制的に有効な文字に変換しますUTF-8.

出典:
[MySQL での二重エンコードされた UTF-8 データの修正](http://blog.hno3.org/2010/04/22/fixing) -double-encoded-utf-8-data-in-mysql/)

以上がMySQL と PHP で壊れ​​た UTF-8 エンコーディングを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。