PHPデビュー2週目、Cakeデビュー数日目です。こんにちは。
既存環境の作り直しとか、API化をやってるわけですが、
DBやサーバの文字コードがEUC-JPなので、結構はまります。
#あと、言語自体についていけてない。
今回はREST APIを作ろうということでCakePHP2を導入し作業をやってます。
小規模で展開するのでPHPファイル自体はUTF-8のまま。
設定はEUC-JP
- Config/core.php
- Config/database.php
ということで、
テーブルからのデータ取得はEUC、
で、そのままjsonで返そうとすると、日本語がnullになる。
原因としては、jsonやxml出力の機能はUTF-8前提で提供されてるようで、
エラーを返さず、該当データにnullを返す仕様の様子(動きから予測)
ということで、対応としては、コントローラでの ’_serialize’ の設定の前に、
文字コードをUTF-8に変換しないといけないみたいです。
あとは、クライアント側で対応してください…。
mb_convert_variables('UTF-8', 'EUC-JP', $dataarray);