Ver Mensaje Individual
  #11 (permalink)  
Antiguo 31/08/2012, 08:51
Avatar de ananda
ananda
 
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 4 meses
Puntos: 14
Respuesta: utf8 guarda caracteres especiales en bd

Cita:
Iniciado por thetwister Ver Mensaje
supongo que el dato a comparar lo envias con un Input text

Primero como decian antes checa que la columna que guarda ese dato en la Base de datos esté en utf8_unicode_ci

si traes aun dato para mostrar ya sea en un Input text o en texto normal y este tiene caracteres como letras con acentos o la ñ y te sale asi raro, por ejemplo
de Tecnología -> Tecnologóa o vas a introducirlo tu, entonces agregale utf8_encode

asi
Código PHP:
<input type="text" name="alguno" value="<?php echo utf8_encode($dato); ?> />
y ya no deberia aparecer con caracteres extraños, claro, esto si en la Base de datos ya la palabra está sin caracteres raros como el à que decias.

Pero si lo que vas a hacer es enviar "x" dato a la base de datos entonces sería usar el otro, utf8_decode

algo asi
Código PHP:
$alguno=utf8_decode($_POST['alguno']);
ó
$alguno
=utf8_decode($alguno//Segun lo que vayas a hacer
// conexion a la BD y Comparar
.
.


Pero esto quizas seria si no vas a usar muchas variables a introducir en la BD

Si es un dato dentro de una variable de array no se si se le pueda pasar asi nomas alguno de los dos (utf8_encode, utf8_decode), y automaticamente lo hago con todos dentro de el pues no lo he intentado pero intentale, espero te sirva de algo esto

Siento tener que repostear pero necesito que alguien me eche una mano y tan abajo ya no se leen los temas... Tras disculparme, informo de que la manera que he citado (utf8_encode, utf8_decode) me funciona, pero necesitaría algo más "universal" ya que es una red social, por lo tanto estoy jugando continuamente con variables, y con tantas seguro que al usar este método me dejaría alguna, y al usuario lo desorientaría mucho, además de que no funcionaría correctamente el script, ojalá me podáis ayudar, os lo agradecería mucho, gracias por adelantado!