0

cp1251_general_ci エンコーディングの DB があります (これにはいくつかの歴史的な理由があります)。ホストを変更するまで、すべてが完璧でした。今、私は問題に直面しました。彼らのサーバーは、utf-8 のクエリでレコードを返します。HTML出力に触れないように、この問題を正しく解決したいと思います。だから私はそのような方法を見ます-サーバーにコンテンツをcp1251_general_ciだけで提供させることです。ポイントはMySQL接続の照合だと思います。もしそうなら、私は次のことを推測します: 1. 現在の DB をコピーして、MySQL 接続照合 AS cp1251_general_ci を指すようにします。その後、この DB を使用し、ソース DB を削除します。または 2. DB クエリにCOLLATIONを追加します。それが正しい/間違っている、またはあなたがより良い方法を持っている場合、私はあなたのアドバイスを喜んで聞きます!

4

1 に答える 1

0

すばらしい回答をありがとうございました。:) 問題を解決するために、私は独自の調査を行いました。ここに解決策があります:

mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");

したがって、ポイントは、クエリ/回答中にサーバーに適切なエンコーディングを強制的に設定することです。今では完全に機能します。

于 2013-01-28T14:55:42.980 に答える