Php json_编码utf-8

Php json_编码utf-8,php,mysql,encoding,utf-8,json,Php,Mysql,Encoding,Utf 8,Json,我想知道为什么json_将echo编码为“null”,而我使用西班牙语字符作为“ñ” $lamarcavino在utf8\u decode()之后是ISO 8859-1,因为utf8\u decode() json\u encode()和ISO 8859-1中的一些较高字符在UTF-8中无效。但mb\u detect\u编码显示UTF-81。它应该被称为mb\u guess\u encoding()。2.至少将第三个参数设置为true。3.在我的系统上,无论输入什么,它总是显示UTF-8。4.你

我想知道为什么json_将echo编码为“null”,而我使用西班牙语字符作为“ñ”


$lamarcavino
utf8\u decode()
之后是ISO 8859-1,因为
utf8\u decode()


json\u encode()
和ISO 8859-1中的一些较高字符在UTF-8中无效。

但mb\u detect\u编码显示UTF-81。它应该被称为
mb\u guess\u encoding()
。2.至少将第三个参数设置为true。3.在我的系统上,无论输入什么,它总是显示
UTF-8
。4.你看到它实际上可以检测到什么字符集了吗(
mb_detect_order()
)?我解决了问题,但我忘了提到android应用程序读取脚本问题在于数组$arr$arr=array('marcavino'=>utf8_encode($lamarcavino”),'comentario'=>utf8_encode($elcomentario”),'estrellas'=>“$laestrella”);您也可以删除utf8_解码。现在实现它的方式将丢失ISO 8859-1中没有的所有字符。
$link=mysql_connect("localhost","josilandia","*****");
mysql_select_db("critica",$link);
mysql_query("SET NAMES utf8");
$region="Mosel-Saar-Ruwer";

$resultado=mysql_query("SELECT marcavino,comentario,estrellas FROM recomendacion2
 WHERE region='$region'");

$recomendacion=array();   
while ($row = mysql_fetch_assoc($resultado)) {
   $lamarcavino =utf8_decode($row['marcavino']);
   $elcomentario =utf8_decode($row['comentario']);

   $laestrella = $row['estrellas'];
   $arr=array('marcavino'=>"$lamarcavino",'comentario'=>"$elcomentario",'estrellas'=>"$laestrella");
     $recomendacion[]= $arr;

  print(json_encode($recomendacion));