1

dBase III ファイルがあります。中の中国語は Big5 でエンコードされています。PHP ODBC の助けを借りて、dBase ファイルからレコードを取得/挿入できます。

しかし、中国語の単語 (Big5) を正しく表示できませんでした。

mb_detect_encoding関数を使用してこれらの中国語を検出すると、「UTF-8」と表示されます。odbc は、元のエンコーディング (ASCII/Big5) ではなく、「UTF-8」の形式でデータをダンプすると思います。

質問したいのですが、どうすれば単語を正しく表示できますか?どうもありがとうございました。私はこの問題に2日間苦労しています。

4

1 に答える 1

0

ソースと表示が両方とも UTF-8 であることを確認し、データに触れるすべてが UTF-8 で設定されるようにします。

あなたが最も確信していることから始めてください: DBエンコーディングをチェックしてください。サーバー全体のエンコーディング、データベースのエンコーディング、テーブルのエンコーディング、列のエンコーディングを設定できます

次に、それを処理する php を確認します。.php ソース ファイル自体は UTF-8 である必要があり、ヘッダーと contenttype charset などはすべて UTF-8 に設定されている必要があります。

処理のために javascript や他の php ページなどの別の場所にデータを送信した場合は、それらもすべて確認する必要があります。エンコーディングを制御できない外部ライブラリ、またはストリーム リーダー/ライターには注意してください。DB との接続によって、エンコーディングが変更される場合もあります。

出力が UTF-8 であることを確認したら、ブラウザが UTF-8 で表示されていることを確認する必要があります。このWebページのエンコーディングをブラウザに伝える必要があります。ブラウザはヘッダー定義でそれを読み取ります。

幸運を!

于 2012-11-08T04:05:34.727 に答える