Linuxサーバーで実行されているMySQLデータベースに保存されているサンプル文字列は次のとおりです。™</p>
これは、、またはで表される単一のTM0x2122
文字UTF-16BE
です0xE284A2
。UTF-8
データベーステーブルはでエンコードされutf8-unicode-ci
ます。私は別のLinuxサーバーでPHPを実行しています。これは、UTF-8と同じ文字エンコードを使用するの内部エンコード(によって報告されるmb_internal_encoding
)を使用します。ISO-8859-1
SQLクエリを実行して文字列を取得すると、が返されます0x0099
。これは、での表現ですWindows-1252
。
それはどのように起こり、より賢明なコードページに戻るように修正するにはどうすればよいですか?