Mostrando entradas con la etiqueta UTF8. Mostrar todas las entradas
Mostrando entradas con la etiqueta UTF8. Mostrar todas las entradas

miércoles, 20 de junio de 2018

Solucionar el problemas de las tildes y eñes con PHP y Mysql

Guía paso a paso para solucionar el problema de los acentos y eñes al traer los datos de la base de datos

  1. Cotejamiento
    Al crear la base de datos MySQL, asegúrate que los campos string y demás esten en utf8_spanish_ci y el cotejamiento de las tablas en utf_unicode_ci (más tarde en Operations > Collation de phpMyAdmin se puede cambiar)
  2. Content type HTML
    Pon en el <head> de todos los archivos HTML:
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  3. Content type PHP
    Y en los puramente PHP (que muestran XML, llamadas de AJAX, APIs…) pon el código:
    header("Content-Type: text/html;charset=utf-8");
  4. Set names
    Al crear la conexión de PHP con MySQL, envía esta consulta justo tras la conexión:
    mysqli_query("SET NAMES 'utf8'");
    (Para MySQLi escribe $acentos = $db->query("SET NAMES 'utf8'"); gracias Fernando)
  5. Convertir codificado a UTF-8
    Convierte todo lo que esté codificado de latin1 a UTF-8 (graciasGuillermo)
    SELECT convert(cast(convert(content using latin1) as binary) using utf8) AS content
  6. Apache
    Quita el DefaultCharset del Apache o modifícalo
  7. htmlentities
    Como última y desesperada opción, quita todos los htmlentities(); y sustitúyelo por otro parser para ‘sanitizar’ los datos.
Fuente: https://goo.gl/2DykoC
Share:

BTemplates.com

Con la tecnología de Blogger.