PHP - Insertar en bbdd caracteres especiales como hacentos etc

 
Vista:

Insertar en bbdd caracteres especiales como hacentos etc

Publicado por Sam (185 intervenciones) el 16/04/2016 16:25:12
Hola amigas y amigos, verán tengo un problema:

Tengo un codigo que me permite insertar en bbdd, pero los caracteres especiales osea acentos etc me los inserta en la bbdd con caracteres extraños. Y claro una vez insertados en la bbdd estos caracteres extraños a la hora de mostrarlos en mi pagina pues no son mostrados las vocales con sus acentos sino que se muestran en su lugar estos caracteres raros.

Si pudieran ayudarme les estaria agradecido.

Este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public function ActualizarUsuario($tabla_usuarios, $nombre, $apellidos, $nick, $email, $movil, $password, $repassword, $sexo, $dia, $mes, $ano, $directorio_img_bbdd)
 
{
	$encript_password = trim((hash('sha256', $password)));
	$encript_repassword = trim((hash('sha256', $repassword)));
 
	$sql = "UPDATE " . $tabla_usuarios . " SET nombre='$nombre', apellidos='$apellidos',
	
	nick='$nick', email='$email', movil='$movil', password='$encript_password', repassword='$encript_repassword', sexo='$sexo', dia='$dia', mes='$mes', ano='$ano', 
	
	avatar='$directorio_img_bbdd'                   
	
	WHERE email='$email'";
 
 
 
	$con = new Conectar();
	$link=$con->ConectarBbdd();
 
	mysqli_query($link,$sql) or die (mysqli_error($link));
}


Y la conexion a bbdd es esta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Conectar
{
 
	public $servidor = 'localhost';
	public $usuario = 'root';
	public $pass = '';
	public $basedatos = 'nombre_mi_bbdd';
 
	public function ConectarBbdd()
	{
		$con = mysqli_connect($this->servidor, $this->usuario, $this->pass, $this->basedatos);
 
		if (mysqli_connect_errno($con))
 
		{
			echo "Lo siento pero no conecta a la BBDD: " . mysqli_connect_error($con);
		}
 
		return $con;
	}
 
} //fin de Conectar


Navegando por internet encontre esto pero no se si es lo que necesito en caso afirmativo no se como implementarlo a mi codigo una ayudita please:

Al crear la conexión de PHP con MySQL, envía esta consulta justo tras la conexión:
mysql_query("SET NAMES 'utf8'");
(Para MySQLi escribe $acentos = $db->query("SET NAMES 'utf8'");
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Insertar en bbdd caracteres especiales como hacentos etc

Publicado por xve (6935 intervenciones) el 16/04/2016 19:29:40
Hola Sam, tu mismo lo has dicho... tendras que añadir:
1
$con->query("SET NAMES 'utf8'");
después de la conexión!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar