lunes, 16 de diciembre de 2013

Error al iniciar XAMPP en windows

Hay que revisar que no esten ocupados los puertos 80 y 443.

Cotejamiento para español en MySQL y Paginas WEB



Escribir en español con eñes y tildes es muy fácil, pero para ello debes tener un CHARSET y una COLLATION que lo permitan. Yo uso charset utf8 y collation utf8_spanisch_ci, pero seguro que lo logras con el CHARSET latin1 y la collation latin1_spanisch_ci. No puedes aplicar a las tablas y a los campos una collation que no tenga nada que ver con el charset elegido.
Pero este no es el único problema. También tienes que hacer que se entiendan tu servidor web APACHE y tu base de datos. Por otra parte, los datos que muestras de tu base de datos, los muestras en un archivo PHP o HTML, todo lo cual te obliga a usar esa misma codificación en los archivos PHP y HTML, tanto para introducir datos como para mostrarlos. Además, si eliges UTF8, tu navegador debe tener seleccionado un tipo de letra utf8.
Quiero decir con esto que tu problema, si has elegido un charset de esos y su cotejamiento (collation) adecuado para el español, el problema ahora está probablemente en hacer que tu servidor se entere de eso, pues creo que trabaja por defecto con ISO-8859-1. Además con unos meta que indiquen el charset y guardando los archivos php y html como utf8, en caso de que sea ese el charset elegido, se resolverá parte del problema, si no todo él.
Te daré algunas indicaciones para hacerlo con utf8 (pido perdón al moderador por incluir recomendaciones sobre html y PHP (es el programa que yo uso), pero lo considero en este caso necesario, solicitándole que quite el código que no considere necesario [he reportado el post])

BASE DE DATOS
1) Cuando creo una base a través de PHPMyAdmin y quiero que contenga campos en utf-8, selecciono dicho charset, poniendo especial atención en que el cotejamiento de las conexiones MySQL sea en utf_unicode_ci, la tabla o tablas con cotejamiento utf_unicode_ci, los campos con cotejamiento utf_unicode_ci (son los que yo utilizo), aunque sólo aquellos en que voy a introducir utf-8.
ARCHIVOS HTML Y PHP
2) Las páginas con terminación html y php deben ser guardadas con formato utf-8 (ojo, porque algunos editores no lo permiten). Yo uso NotePad++ que en formato te permite elegir el que quieres. Si se trabaja con sesiones, hay que guardar como ANSI y mostrar utf8 sin BOM, para evitar que haya algo antes de los header.
3) En el archivo con terminación html debes escribir este meta <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

CONEXIÓN MYSQL MEDIANTE PHP
4) Cuando hagas la conexión a la base de datos MySQL, deberás escribir tras la conexión y justo después de seleccionar la base: mysql_query ("SET NAMES 'utf8'"), como en el ejemplo.
<?php
$link = mysql_connect ('localhost', 'root', 'tuclave');
if (!$link){
echo 'error al conectar';
die;
}
$bd = mysql_select_db('mibase');
if (!$bd){
echo 'error al seleccionar la base d datos';
die;
}
mysql_query ("SET NAMES 'utf8'");
?>

NAVEGADOR
5) Y, finalmente, debemos tener al menos una fuente utf8 y ponerla como fuente para nuestro navegador. Puedes en la programación poner una lista de familias de letras utf8 para que vaya eligiendo entre ellas. Y creo que si no encuentra una de ellas, seleccionará la letra unicode con la que cuente.

Hay algunos truquillos más, como codificar como utf-8 un archivo de texto (guardándolo como con ese formato) cuando vaya a importarse a una base de datos con character set utf-8. Si no lo haces, observarás que las palabras son cortadas por donde hay caracteres con acento o eñes.

Pero todavía hay más: el modo en que el paso de la información de AJAX a través del navegador o navegadores (hay diferencias).

Otra situación extraña que me ha ocurrido es que se me entregue una base con una codificación que no es la adecuada a la naturaleza de los datos con los que quiero trabajar. Pondré un ejemplo: se me entregó una base codificada en ISO-8859-1, pero yo necesitaba codificación UTF-8. No me quisieron cambiar la codificación. Es verdad, como se me dijo, que puedo almacenar los datos en utf8 en las tablas y campos, y así lo hice, pero la collation no funcionaba. La solución tendría que haber sido exportar los datos y luego crear una base con la codificación utf8 e importarlos, pero al no permitírseme me vi obligado a crear campos de orden y consulta específicos, con programación.

martes, 3 de diciembre de 2013

Reinicio de CSS

Reset_meyer es un archivo de css que lo que hace es reiniciar el css.. una vez reiniciado agregarias a tu sitio el css que tu creaste.. con este archivo reset_meyer tiene por funcion hacer que tus css creados por ti sean compatibles en todos los navegadores.. logicamente tambien depende de como los elabores.. pero aun asi.. es muy buena opcion.


algo asi

<link rel="stylesheet" href="css/reset_meyer.css" type="text/css" />
<link rel="stylesheet" href="css/global.css" type="text/css" />

donde global.css es el archivo que yo elaboro.. ve esta pagina:

http://meyerweb.com/eric/tools/css/reset/

sábado, 30 de noviembre de 2013

Insertar caracteres especiales en Javascript

Las cadenas de escape más conocidas son:
  • \n: Salto de línea
  • \r: Retorno de carro
  • \t: Tabulación horizontal
  • \v: Tabulación vertical
  • \’: Comilla simple
  • \”: Comilla doble
  • \\: Barra invertida
  • \xdd: Carácter especial especificado mediante dos dígitos hexadecimales dd
El último caso, el del carácter especial (\xdd), es el que nos permite, entre otras cosas, insertar letras acentuadas o la letra ñ.
Lo único que necesitamos para ponerlo en práctica es una tabla con el juego de caracteres unicode. Veamos la tabla para latin:
image

Insertar un fichero HTML dentro de un documento HTML

Objetivo: 

Insertar el fichero b.html dentro del documento a.html

Solución:

a.html:
<html> 
  <body>
  <h1>Put here your HTML content before insertion of b.js.</h1>
      ...

  <script src="b.js"></script>

      ...

  <p>And here whatever content you want afterwards.</p>
  </body>
</html>
 
b.js:
document.write('\
\
    <h1>Add your HTML code here</h1>\
\
     <p>Notice however, that you have to escape LF's with a '\', just like\
        demonstrated in this code listing.\
    </p>\
\
');

The reason for me against using jQuery is that jQuery.js is ~90kb in size, and I want to keep the amount of data to load as small as possible.

OTRA OPCION

No need for scripts. No need to do any fancy stuff server-side (tho that would probably be a better option)
 
<iframe src="/path/to/file.html" seamless></iframe>