ホームページ >バックエンド開発 >PHPチュートリアル >php+mysqlの文字化け問題についてアドバイスをお願いします
データベース環境:redhat AS5+mysql5.0.4 UTF8エンコード
WEB環境:win2003 nginx1.5 php5.2.17ページUTF8エンコード。
その他のメモ: アプリケーション (購入したもの) は mysql5.0.4 データベースを使用しており、データベース内のコンテンツの一部を表示する Web サイトを作成しました。フィールドの 1 つは、ページに表示される名前を保存するものです。 . mysql管理ツールで確認したところ、やはり文字化けしていました。 このサイトを書くときはASP.NET(C#)で色々試しましたが、最終的にはUTF8に変換すると正常に表示できるようになりました。 。当時の文字化けの対処法はトランスコードする関数を使ってUTF8に変換したのですが、今はPHPに詳しくないので解決策が見つかりませんでした
。以下は、この文字化けしたコードの問題を解決するために使用したコード (C#) です。PHP に修正する方法はわかりません。
表示されているのは、「ÕÛÒíÌìʹ」という効果です。
echobase64_encode($s);
結果を投稿してください
*
あなたが投稿した「文字化けした」16 進数の内部コードは efbbbbfc395c39bc392c3adc38cc3acc38ac2b9 です ここで、efbbbf は utf-8 文字セットの BOM ヘッダーです
明らかに、データを読み取る前に set names utf8 コマンドを実行しました
と c395c39 bc392c3ad c38cc3acc38ac2b9 は latin1 文字です。 utf-8 エンコーディングへの変換
latin1 (Universal European Character Set 1) は ISO 8859-1
iconv('utf-8', 'latin1', substr($s,3)); の後に取得されます。 * 16 進数の内部コードは d5dbd2edcceccab9 です
明らかに、gbk でエンコードされた文字列です
ありがとうございます