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:

sábado, 9 de junio de 2018

Evitar el submit de la tecla enter en un form

No tiene mayor explicación, el onsubmit="return false;" en el formulario evita que al dar enter en cualquier input, me mande automaticamente al submit.

Por otro lado, el boton con el evento onClick="submit();" remplaza al input tipo submit, por lo que solo se podran enviar los valores si se hace clic y no con el enter.


<form action="agregar.php" method="post" onsubmit="return false;">
   <input name="usuario" type="text"><br/>    
   <input type="button"  value="Enviar" onClick="submit();">
</form>
Share:

BTemplates.com

Con la tecnología de Blogger.