Buenas
Tengo una base de datos mysql, y en ella una tabla que se llama Almacén, tipo Myisam y codificada como utf8_general_ci , y en esta tabla, un campo llamado "calle" que esta codificado como utf8_spanish_ci.
Bien, pues si abro la tabla con phpmyadmin, los datos escritos en este campo se ven correctamente, las ñ, los acentos, etc.
ahora quiero extraer una calle y presentarla en html y no hay forma de que me lo presente adecuadamente.
aqui el codigo:
Código PHP:
<?php
session_start();
if(!isset($_SESSION['contra'])){
header("Location:../index.php");
}
header("Content-Type: text/html;charset=utf-8");
$usuario = $_SESSION["usuario"];
$contra = $_SESSION["contra"];
require_once "conn.php";
$connect->set_charset("utf8");
$result2=mysqli_query ($connect, "SELECT CODIGO,COMPANIA,CALLE,POBLA,PROVIN,CP,TELEFONO,RUTA,C_ALM from almacen where codigo='$contra';");
$num_total_registros2 = mysqli_num_rows($result2);
if ($num_total_registros2>0) {
?>
<!DOCTYPE html>
<html>
<head>
<title>Zona Clientes</title>
<link rel="stylesheet" type="text/css" href="css/formatos.css">
<script type="text/javascript" src="css/mio.js"></script>
</head>
<body onload="nobackbutton();">
<img src='imagenes/logoemp.jpg' width='143' height='53'/>
<table border="1" width="100%" bgcolor="#6495ED" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000">
<tr>
<td width="100%">
<h1>ELEGIR SUCURSAL</h1>
</td>
</tr>
</table>
<p> </p>
<div style="text-align:center;">
<table border="2" style="margin: 0 auto;">
<?php
echo "<tr> \n";
echo "<td bgcolor='#ee7b43'><font color='white' face='Verdana'><center><b>NOMBRE</b></center></font></td> \n";
echo "<td bgcolor='#ee7b43'><font color='white' face='Verdana'><center><b>DIRECCION</b></center></font></td> \n";
echo "<td bgcolor='#ee7b43'><font color='white' face='Verdana'><center><b>POBLACION</b></center></font></td> \n";
echo "<td bgcolor='#ee7b43'><font color='white' face='Verdana'><center><b>PROVINCIA</b></center></font></td> \n";
echo "<td bgcolor='#ee7b43'><font color='white' face='Verdana'><center><b>C.POSTAL</b></center></font></td> \n";
echo "<td bgcolor='#ee7b43'><font color='white' face='Verdana'><center><b>SELECCION</b></center></font></td> \n";
echo "</tr> \n";
$nCont=0;
while ($row2 = mysqli_fetch_array($result2)){
?>
<tr>
<form action="ponsesion.php" method="post"><!-- abre tu form -->
<td><left><?php echo trim($row2["COMPANIA"]); ?><input type="hidden" name="compania" value="<?php echo trim($row2["COMPANIA"]);?>"></left></td>
<td><left><?php echo ucwords(strtolower(trim($row2["CALLE"]))); ?><input type="hidden" name="calle_alm" value="<?php echo trim($row2["CALLE"]);?>"></left></td>
<td><left><?php echo ucwords(strtolower(trim($row2["POBLA"]))); ?><input type="hidden" name="pobla_alm" value="<?php echo trim($row2["POBLA"]);?>"></left></td>
<td><left><?php echo ucwords(strtolower(trim($row2["PROVIN"])));?><input type="hidden" name="provin_alm" value="<?php echo trim($row2["PROVIN"]);?>"></left></td>
<td><center><?php echo trim($row2["CP"]); ?><input type="hidden" name="cp" value="<?php echo trim($row2["CP"]);?>"></center></td>
<td colspan=5 align=center><b><input type=submit value='Confirmar' style="background-color:#61a11a; color:#fff;"></b></center></td>
<input type="hidden" name="telefono" value="<?php echo trim($row2["TELEFONO"]);?>">
<input type="hidden" name="ruta" value="<?php echo trim($row2["RUTA"]);?>">
<input type="hidden" name="almacen" value="<?php echo trim($row2["C_ALM"]);?>">
</form>
</tr>
<?php
$nCont += $nCont+1;
}
echo "</table> \n";
echo "</div> \n";
}
else {
echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=ponsesion.php'>";
}
?>
</table>
</div>
</body>
</html>
he probado a poner :
<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> en la cabecera, y nada
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> y tampoco
tambien utf8_encode, utf8_decode,
cuando me presenta en pantalla:
Código PHP:
<td><left><?php echo ucwords(strtolower(trim($row2["CALLE"]))); ?><input type="hidden" name="calle_alm" value="<?php echo trim($row2["CALLE"]);?>"></left></td>
depende si pongo utf8_encode u otra cosa van variando los caracteres raros, es decir unas veces en la ñ aparece una interrogacion, otras veces un simbolo ascii raro etc.
Que puede ser?
Saludos