Ошибка с тильдой и тоном в php скрипте

У меня проблема с PHP-скриптом, когда, когда у меня есть данные в базе данных, содержащей «ñ» или Tildes, я использую этот скрипт, но я не знаю, в какой момент конвертировать в UTF-8.

 <?php 
 //Importing Database Script 
 require_once('Connectdb.php');

 //Creating sql query
 $sql = "SELECT * FROM bebidas ";

 //getting result 
 $r = mysqli_query($con,$sql);

 //creating a blank array 
 $result = array();

 //looping through all the records fetched
 while($row = mysqli_fetch_row($r)){

 //Pushing name and id in the blank array created 
 array_push($result,array(

 "bid"=>$row['bid'],
 "nombre"=>$row['nombre'],
 "precio"=>$row['precio'],

 ));
 }

 //Displaying the array in json format 
 echo json_encode(array('result'=>$result));

 mysqli_close($con);
?>

Возвращает NULL, имея эти символы, я ценю ваш ответ.

0
задан 09.01.2017, 21:43
0 ответов

тотчас после связи к базе данных ты можешь добавлять это...

       $mysqli->query("SET NAMES 'utf8'");

наиболее рекомендуемый он этот...

       $mysqli->set_charset("utf8");

он остался бы немного похожим на это....

       $mysqli = new mysqli(localhost, usuario, clave, basedatos);
       $mysqli->set_charset("utf8");

Я надеюсь, что он подает тебя, привет...

0
ответ дан 03.12.2019, 17:47

Если твои scripts PHP соглашаются на базу данных MySQL, возможно, что информация сохраняет с различным кодированием в UTF-8, даже, хотя ты используешь все предосторожности, объясненные в предыдущей секции.

Чтобы убеждаться, которого информация, которая путешествует между PHP и MySQL, пребывала кодировавшей с UTF-8, подтверди, что у баз данных и всех Ваших подмостков есть стоимость utf8mb4 так в выборе character set, как в выборе collation. убедись также в том, что связь PDO использует стоимость utf8mb4 в выборе character set. Все это крайне важно.

Если ты используешь как стоимость utf8, ты не получишь опору UTF-8 полно. Единственная стоимость, которая это гарантирует, - utf8mb4.

Используй функцию mb_http_output (), чтобы гарантировать тебя, что контент, произведенный твоим рукописным шрифтом PHP кодировался с UTF-8.

После необходимо говорить ему в браузер, что контенты страницы должны быть обработанными как UTF-8. Для этого, традиционно использовалась этикетка charset внутри элемента страницы. Хотя этот выбор все еще функционирует, сейчас рекомендует показывать кодирование посредством заголовка Content-Type HTTP, так как он гораздо быстрее.

<?php
// Esto le dice a PHP que usaremos cadenas UTF-8 hasta el final
mb_internal_encoding('UTF-8');

// Esto le dice a PHP que generaremos cadenas UTF-8
mb_http_output('UTF-8');
0
ответ дан 03.12.2019, 17:47