CSS y fuente de google - script bug fix

viernes, 5 de septiembre de 2014

¿ como corregir problemas de acentos en las paginas web ? SOLUCION para PHP, MySql , HTML (actualizado 2014)

Bueno bueno es un grave problemas para los hispanohablantes en las paginas web que no salgan con caracteres extraños los acentos o letra Ñ.
Lo mejor para solucionar todo este lio y que se vea correctamente en cualquier pais que accedan (EEUU o España o Rusia o Colombia o etc ....) es tener todo en codificacion UTF-8.

Ahora vamos a explicar pero lo vamos a dividir en 2 secciones

  1. Solucion solo para pagina web (sin base datos , ej: diseñadores web o pagina basica)
  2. Solucion para pagina web PHP (con base datos MySql)

Solución solo para pagina web (sin base datos , ej: diseñadores web o pagina basica)

Bueno primero que nada a cada archivo que edites o que creas debe estar configurado en codificación UTF-8. 
Cada programa tiene su manera especifica de como hacerlo casi siempre esto esta en la parte de "opciones" o "ajustes".
Ejemplo practico :
En Adobe Dreamweaver deben estar como lo muestra en rosa 

En Notepad++ debe estar tildado como marca la flecha roja

NOTA : no recomiendo que creen o editen una pagina web con el editor "Block de Notas" 
tiene problemas de codificacion y te perjudica si usas acentos.

Una vez hecho esto deben poner esto al principio de la pagina y para cada archivo LISTO ahora no deberian tener problemas.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es" >
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >

Solución para pagina web PHP (con base datos MySql)

Primero deben hacer lo de la sección anterior : "Solución solo para pagina web (sin base datos , ej: diseñadores web o pagina básica)".
Una vez hecho , solo queda verificar en PHP la configuración de las conexiones a MySql 

PHP con conexión antiguas deben usar mysql_set_charset(.......) :

$link = mysql_connect( $dbhost,$dbusuario,$dbpassword );
mysql_set_charset("utf8", $link);

PHP con conexión mas vigente (PDO) :

$db = new PDO(
  'mysql:host=localhost;dbname='.$bd.';charset=utf8', 
  $mysql_user, $mysql_password ,
  array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );


Eso es todo amigosssss , cualquier problema me dejan un comentario