Специальные символы PHP
Хорошо, сегодня я пришел с небольшой проблемой, которая заключается в этом
echo $consulta;
на что он отвечает мне:
SELECT SUM(carrito_cant) as cantidad FROM carrito_tb WHERE carrito_folio='3041M�Ra' and carrito_NP='NA';
я возвращаю символ или заменяю его на � уже попробуйте
$consulta = utf8_encode ( $consulta );
также с этими двумя:
header('Content-type: text/html; charset=utf-8');
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
но, конечно, никто не бросает меня
SELECT SUM(carrito_cant) as cantidad FROM carrito_tb WHERE carrito_folio='3041MóRa' and carrito_NP='NA';
3 answers
Было бы неплохо, если бы вы могли включить свой способ подключения, так как если бы вы использовали PDO, вам пришлось бы сделать это так:
$pdo = new Conexion();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec("SET CHARACTER SET utf8"); // <--utf8
В случае, если вы сделаете это по-старому, это будет так:
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword);
mysql_query("SET character_set_results = 'utf8', character_set_client ='utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conexion);
mysql_select_db($db,$conexion);
С mysqli будет
<?PHP
@ $db = new mysqli(localhost, "root", "", "biblioteca");
if ($db->connect_error)
die('Error de Conexion ('.$db->connect_errno.')'.$db->connect_error);
echo "Conexion correcta con la base de datos...".$db->host_info;
echo "Utilizando un charset, por defecto, de tipo: ".$db->character_set_name()";
$db->set_charset('utf8');
echo "Utilizando un nuevo charset de tipo: ".$db->character_set_name();
$db->close();
?>
И, конечно же, проверить, была ли база данных создана с character = utf8 и collation = utf8_general_ci так же, как конкретная таблица, к которой вы запрашиваете.
Несколько вариантов этой проблемы, по-видимому, вы пробовали
А) с помощью метода utf8_encode()
B) добавить заголовок с charset для utf-8
:
<?php header('content-type: text/html; charset=utf-8');
Я рекомендую вам в качестве третьего варианта Сохранить файл php
с кодировкой utf-8
.
Моя проблема была решена с помощью этой команды при подключении к базе данных:
$connect = new PDO(
"mysql:host=$host;dbname=$db",
$user,
$pass,
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));