el contejamiento ya probé con varios, como utf8_spanish, utf8_latin, utf8_general ci, etc.
mortiprogramador, coloque el mysqli_set_charset, el insert es el que me manda el valor como por ejemplo "niño" = "ni?o". Pero cuando hago un update se inserta el dato normal y al consultar también todo normal.
Antes usaba decode y encode, pero ahora con esos no me soluciona nada.
Código PHP:
public function conectar() {
if($this->enlace=mysqli_connect($this->servidor,$this->usuario,$this->password)) {
if(mysqli_select_db($this->enlace, $this->bd)){
} else {
echo "No se ha podido seleccionar la BD";
}
} else {
echo "No se ha podido conectar a la bd";
}
mysqli_set_charset($this->enlace,"SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8', NAMES 'utf8'");
}