Reemplazar caracteres especiales por tildes php html

Estoy trabajando en php y mysql; estoy haciendo una consulta pero como resultado los valores que tienen tilde son reemplazados por caracteres especial, como puedo modificarlos, el código que tengo es el siguiente

<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
</head>
<body>
<?php
$data = file_get_contents('php://input');
//$Tabla= new SimpleXMLElement($data);

$link = mysql_connect("localhost", "DataBase", "1001");
//mysql_set_charset($link, 'utf8');

mysql_select_db("DataBase", $link);

//if $data <>(compradores) {

$result = @mysql_query("SELECT * FROM tabla", $link);
// mysql_set_charset( $result , 'utf8' );

$rawdata = array();
//guardamos en un array multidimensional todos los datos de la consulta
$i=0;
while($row = @mysql_fetch_array($result))
{
$rawdata[$i] = $row;
$i++;
}

//DIBUJAMOS LA TABLA

echo '<table width="100%" border="1" style="text-align:center;">';
$columnas = count($rawdata[0])/2;
//echo $columnas;
$filas = count($rawdata);
//echo "<br>".$filas."<br>";
//Añadimos los titulos
for($i=1;$i<count($rawdata[0]);$i=$i+2){
next($rawdata[0]);
echo "<th><b>".key($rawdata[0])."</b></th>";
next($rawdata[0]);
}
for($i=0;$i<$filas;$i++){

echo "<tr>";
for($j=0;$j<$columnas;$j++){
echo "<td>".$rawdata[$i][$j]."</td>";
}
echo "</tr>";
}
echo '</table>';

if(empty($_POST) || $_POST["sql"] == ""){
DIE("");
}

¿

?>
</body>
</html>

2 Respuestas

Respuesta
1

Varias cosas a tener en cuenta:

1. La tabla debe ser creada con el siguiente cotejamiento:

Utf8_spanish_ci

también puedes colocar después de conectarte a la tabla lo siguiente:

mysql_query("SET NAMES 'utf8'");

o cuando hagas la consulta:

$variable = utf8_decode($variable);

aprende a combinar estas instrucciones y dominaras el tema. 

También en el html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Ingles:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Español:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//ES">

siREZ

Respuesta
1

Si sustituye esta meta:

<meta http-equiv="Content-type" content="text/html;charset=UTF-8">

Por esta otra:

<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />

Se soluciona el problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas