PHP,Rest Service,克罗地亚字母作为POST请求JSON正文中的参数值

时间:2014-02-03 19:15:55

标签: php json rest post encoding

我的PHP MVC有问题。我正在尝试发送一些JSON参数值(在HTTP POST请求体中),其中包括ŠČĆŽĐŽ(来自Android客户端)等克罗地亚标志。但是在PHP控制器方面,当我回复HTTP请求的JSON主体时,我得到了什么? (问号)而不是那些字母(我正在使用file_get_contents('php://input');

我完全尝试了我在互联网上找到的所有东西,但它并没有帮助。当我从MySQL数据库中获取包含这些字母的某些值,并在PHP中回显它时,一切正常。

这是代码的一部分。我评论了一些我之前尝试过的代码

//header('Content-Type: text/html; ISO-8859-1');
mb_language('uni');
mb_internal_encoding('UTF-8');
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
   // get tag
   //$opts = array('http' => array('header' => 'Accept-Charset: UTF-8'));
   //$context = stream_context_create($opts);
   inputJSON = file_get_contents('php://input');
   echo utf8_encode($inputJSON);
   echo $inputJSON;
   //$fileEndEnd = mb_convert_encoding($inputJSON, 'UTF-8', 'UTF-16');                     //$fileEndEnd = htmlentities($inputJSON, 'UTF-8', 'UTF-8');
   //$string = http_get_request_body ();
   //$string = iconv('UTF-8', 'ASCII//TRANSLIT', $inputJSON);
$fileEndEnd = mb_convert_encoding($inputJSON, 'UTF-8',mb_detect_encoding($inputJSON,      'UTF-8, ISO-8859-1', true));
   //echo $fileEndEnd;
   echo $fileEndEnd;
   //echo $string;
   //echo 'Badalićeva';
   $input= json_decode($inputJSON);

 //some code

 function file_get_contents_utf8($fn) {
   $content = file_get_contents($fn);
   return mb_convert_encoding($content, 'UTF-8');
}

0 个答案:

没有答案