Zend_Rest_Server のパラメータに日本語を与えたときに文字化け発生
<?php
require_once 'Zend/Rest/Server.php';
class HogeSample
{
public function test($msg)
{
return $msg;
}
}
$server = new Zend_Rest_Server();
$server->setClass('HogeSample');
$server->handle();
?>この状態で、
って感じで呼び出すと
<?xml version="1.0" encoding="UTF-8"?> <HogeSample generator="zend" version="1.0"><test><response>�����</response><status>success</status></test></HogeSample>
こーんな風に化ける。
調べたら、SJISになってるっぽい。
そこで、HogeSample クラスのtestメソッドを
$msg = mb_convert_encoding($msg, 'UTF-8', 'SJIS'); return $msg;
に変更して暫定的に解決!
PHPの設定 or Zend Rest Server の設定で解決できないか調べてみる