数秘とITとサーフィンと

〜鎌倉からちえぞーより愛を込めて〜

【IT】MySQL->PHP表示で「①」が文字化けして「?」となる対処

文字コードを調べる
MySQL上は、UTF-8
PHPもヘッダ文字コードはcharsetはutf-8

別のミドルウェアを使ったPHPではちゃんと「①」が表示されている。
だが、/public配下に置いてある昔からのベタなPHPでは「?」と表示される。

なんだろう?これはこのベタソースのPHP側に問題ありそう。

■解決
そこで、DBアクセス関数のSQL実行直前に
以下命令を追加したら解消されました。

mysql_query('SET NAMES cp932', $connect);


そもそもmysql_queryのようなベタな関数はPHP 7.0から
削除されたようなので、オブジェクト型のmysqliを使ってください。

参考サイト)
MySQLのリンクテーブルで機種依存文字や全角記号などの文字化け回避について
mysqlからmysqliへの書き換え方法 - Qiita