0

私はメディアテンプルを使用しており、PHPファイル(BOMなしでUTF-8でエンコード)を使用して次のようなテーブルを作成します。

CREATE TABLE table_name (
...
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_unicode_ci

私には2つの状況があります:

1-phpコードを介してテーブルにいくつかの行を挿入しました。トルコ語の文字はphpMyAdminで奇妙に表示されますが、ブラウザで印刷すると正しく表示されます。

2-phpMyAdmin SQLクエリタブを使用して、トルコ語の文字を含むデータをテーブルに追加します。今回はphpMyAdminに正しい文字が表示されますが、テーブルの行をブラウザに出力すると、トルコ語の文字ではなく質問マークが表示されます。

私のブラウザはUTF-8を文字エンコードとして使用しています。テーブルの照合として「utf8_turkish_ci」を試しましたが、効果がありませんでした。phpMyAdmin言語をトルコ語に変更しましたが、どちらも機能しませんでした。Media Templeからデータベースをエクスポートすると、すべてのトルコ語の文字が奇妙な文字に置き換えられます。私は何かが足りませんか?

4

1 に答える 1

0

mysqliを使用して問題を解決します。PHPでmysql拡張機能を使用しているときに、phpMyAdminで正しい文字を取得すると、ブラウザーで間違った文字を取得したり、その逆を行ったりするというパラドックスに陥りました。コードを変換するだけで、それ以上は何もしません(接続し、名前をutf8に設定して、好きなことをします)。これで、すべての操作が正常に見えます。理由はわかりませんが、拡張子を変更することで問題は解決しました。

于 2012-09-24T23:13:13.500 に答える