私は何年も後に復活した古いサーバに対処しようとしています。問題は、DBが奇妙な状態にあることです。MySQL - charset windows-1251としてエンコードされたデータがサーバに表示されない
ウェブサイトは、charset = "windows-1251"でDBから情報を読み取ります。 phpMyAdminに表示されているテーブル全体とフィールドには照合順序「cp-1251」がありますが、これはwindows = 1251と同じです。テキストがラテン語で書かれている場合、すべてが正しく表示されますが、ブルガリア語でテキストを書くとうまくいきません。任意のアイデアはどのようにDBの問題を修正するには?私はphpMyAdmin &のウェブサイトの管理パネルにアクセスできます。
私は文字セット&の照合をutf-8に切り替えることを考えていましたが、 "?"どこにでも。また、同様のWebサイトを検索し、同じフィールドにcharset = windows-1251を使用していることがわかりました。これは、テーブルのデータが正しくないと思うようになります。
ありがとうございます!データベースをutf-8に変換したところ、新しい情報がすべて表示されます。今は古いデータがまだcp1251にあり、変換する必要があるので、ダンプしてutf-8としてインポートすることでこれを行うことができることが分かりました。問題は、コントロールパネルをホストしているウェブにしかアクセスできず、自分のコンピュータに何も設定していないことです。このため、私はこれをどうやって行うのか分かりません。私を助けてくれますか? –
あなたはどのような状況にありますか:http://mysql.rjweb.org/doc.php/charcoll#fixes_for_various_cases(注意:その書き込みは「latin1、wanting utf8」を対象としています;あなたは「cp1251、utf8が必要」を参照してください)。 –