miércoles, junio 24, 2009

Manejando palabras acentuadas en PHP y Javascript

Antes de comenzar con el aspecto de la programación, una regla sobre gramática: las mayúsculas siempre, siempre, siempre se acentúan.

Dicho lo anterior, me tope con el caso en php que tenia una lista de opciones basadas en un select que no me mostraba los acentos correctamente. MySQL y php por omisión usan utf-8, por lo que es buena practica poner nuestro html en utf-8:

   1: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">




Ahora bien, Javascript no utiliza por omisión utf-8, asi que cuando coloque un texto mediante document.write, la pantalla desplego el texto acentuado como un carácter especial de html (html entity):





   1: function changecities( formObj )


   2:  {


   3:    statesObj = eval( "formObj.states" );


   4:  


   5:    state = statesObj[statesObj.selectedIndex].value;


   6:    citiesObj = eval( "formObj.elements['cities']" );


   7:  


   8:    // remove all entries


   9:    citiesNum = citiesObj.length;


  10:    for (i=(citiesNum-1); i >= 0; i--)


  11:    {


  12:      citiesObj.options[i] = null;


  13:    }


  14:    // add entries based on area selected


  15:    switch (state){


  16: case "3":


  17:    citiesObj.options[0] = new Option("Comondú",17);


  18:    citiesObj.options[1] = new Option("La Paz",18);


  19:    citiesObj.options[2] = new Option("Loreto",19);


  20:    citiesObj.options[3] = new Option("Los Cabos",20);


  21:    citiesObj.options[4] = new Option("Mulegé",21);


  22:    citiesObj.options[0].selected = true;


  23:    break;


  24:  


  25:     }


  26: }...




image



Php tiene una instrucción para transformar esto caracteres, de su valor al carácter que queremos:





   1: <?php html_entity_decode(“&#250”); ?>




Debe dar como resultado “ú”



image



Pero como vemos en la imagen, el select no se despliega correctamente pues en realidad la instrucción html_entity_decode da como resultado un conjunto de caracteres “ISO-8859-1”, así que podemos optar por hacer una de dos cosas:




  1. Usar utf8_encode:



       1: <?php utf8_encode(html_entity_decode(“&#250”)); ?>





  2. Cambiar la opción del conjunto de caracteres en la instrucción html_entity_decode(string,quotestyle,character-set):




  3.    1: <?php html_entity_decode("&250;",ENT_COMPAT,"UTF-8") ?>







El despliegue es:



image



Listo!

viernes, junio 12, 2009

Cambiar el tamaño de un archivo vdi de VirtualBox

No me gusta colocar tutoriales que se ubican en otro sitio web, pero en este caso, además de que el tutorial resolvió el problema que tenia con el tamaño inicial del disco de windows xp en virtualbox, es tan claro de seguir que no tuve problemas con llevar el cambio de tamaño del disco duro virtual de la partición.

http://www.my-guides.net/en/content/view/122/26/

Si a alguien le interesa de todos modos una traduccion, solo avisar.

Listo!

lunes, junio 01, 2009

¿Dónde esta el folder de patrones en Fireworks CS3?

En ocasiones me pongo a realizar maquetas de algun sitio web en Fireworks, aun cuando trato de usar Photoshop, lo cierto es que FW es bastante ligero y no me da lata sobretodo para la maquetacion.  Estoy trabajando en él para un sitio y se me ocurrio casi terminar el diseño del sitio.

Pero al momento de comenzar con la creacion de los archivos de CSS para la parte grafica me tope que no sabia cual era el tamaño de los patrones que habia colocado como relleno en algunos de los fondos, lo anterior es importante para optimizar el tamaño de las imagenes.

Asi que como me pase un ratito en la busqueda, pongo el folder exacto que se usa en WIndows Vista:

C:\Program Files\Adobe\Adobe Fireworks CS3\Configuration\Textures

Listo!