これまで何度も別のサーバーに移行しましたが、この問題は一度も発生していません。考えられる解決策はどれも機能せず、UTF-8 文字が PHP-FPM で誤って表示されます。
私が試したこと:
ALTER DATABASE database2 CHARACTER SET utf8;
my.conf
ファイルを編集し、次の行を追加しました:
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
データベース、テーブルの文字セットを変更しようとしましたが、まったく効果がありません。
そしてもちろん私<meta http-equiv="content-type" content="text/html; charset=UTF-8">
は<head>
変更を加えた後、mysql、mysqld を再起動しました。しかし、まったく変化が見られず、utf-8 文字は依然として間違って表示されます。古いレコードの utf-8 文字は、すべてのケースで間違って表示されます。たとえば、新しいエントリでは、スペイン語の文字は正しく表示されますが、チェコ語、ラトビア語などの文字は疑問符に変わります。もちろん、古いレコードも正しく表示する必要があります。
これは古いサーバー構成と新しいサーバー構成です。ご覧のとおり、違いはサーバーの文字セット 1 つだけですが、前に書いたように、これを変更しても効果はありません。