发布到数据库时,PHP Post变量丢失编码

时间:2015-10-03 21:54:02

标签: php post encode

我用android发送数据,我有一个变量有一个“ž”。当php将其发布到数据库中时,它变成了“?”。它不是android问题总线android正在发送正常值,数据库是utf_8所以问题是解析到php时。

CODE:

<?php
header('Content-type: application/json; charset=utf-8');
require_once('DB_connect.php');
$db = new DB_connect();
$var=0;

$str = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UTF-16BE');
}, $str);


$con= new mysqli ("localhost","infoizla_boris","internet1","infoizla_boris");


$place=$_POST['place'];
$name=$_POST['name'];
$number=$_POST['number'];

echo $name;


    $statement=mysqli_prepare($con,"insert into Ocjena (user,place,ocjena) values (?,?,?)");
mysqli_stmt_bind_param($statement,"sss",$name,$place,$number);
mysqli_stmt_execute($statement);
mysqli_stmt_close($statement); 

   if(!mysqli_stmt_execute($statement)){


    $sql="update Ocjena set ocjena='$number' where user='$name' && place='$place'";

   $rez=$con->query($sql);

   }


mysqli_close($con);


?>

1 个答案:

答案 0 :(得分:0)

你必须告诉与use utf-8的连接

$con= new mysqli ("localhost","infoizla_boris","internet1","infoizla_boris");
$con->set_charset("UTF-8");