CPI レンタルサーバーでPHP/MySql UTF-8 文字化け

先日から使用しているCPIレンタルサーバーへシステムを構築しているのですが、PHP でデータベースへ文字を登録すると文字化けしてしまうようです。

CPIレンタルサーバーのコントロールパネルからデータベースを新規作成する際に文字コードをUTF-8を指定したし、CREATE TABLE も UTF-8 を指定してあり、また PHP も mb_internal_encoding もファイルのエンコーディングも UTF-8 を指定していて、ローカルサーバーではきちんと動作しているシステムなので問題ないはずなのですが。

コントロールパネルのMySQL5.5管理画面より変数をしらべると character set 関連が ujis となっていました。

character set server: ujis
character set system: utf8
character set database: ujis
character set client: ujis

ではこれを編集して utf8 にすれば良いのだろうと思い、編集し保存すると権限がないてめ拒否されてしまった。

そこで、PHP/PDO からデータベースへ接続するときに charset=utf8 をつけてみると読み出し、登録も文字化けすることなく解決にいたりました。

http://php.net/manual/ja/ref.pdo-mysql.connection.php
http://php.net/manual/ja/mysqlinfo.concepts.charset.php

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください