Configurar Zend Studio para proyectos PHP en UTF-8

Hace relativamente poco que he empezado a usar Zend Studio como IDE para PHP y uno de los primeros pequeños problemas con los que me he encontrado ha sido con la codificación de caracteres de los proyectos.

Aunque cambiar el charset por defecto de Zend Studio (CP1252) no presenta mayor dificultad que tocar una opción de menú, la cosa se complica si quieres poder trabajar con proyectos que utilizan diferente codificación y, además, que la documentación se genere correctamente para todos ellos.

Después de hacer algunas pruebas creo que he encontrado la configuración idónea para poder trabajar correctamente con todos los proyectos, estableciendo UTF-8 como codificación por defecto.

1. Configurar codificación de los proyectos

Lo primero que debemos hacer es cambiar la codificación de los proyectos a UTF-8, y para ello tenemos dos opciones:

a) Configuración a nivel de entorno de trabajo (recomendado)

A través de esta opción, indicamos a Zend Studio que la codificación por defecto de nuestro entorno de trabajo es UTF-8, por lo que todos los nuevos proyectos que se creen tendrán este charset. El cambio no afectará a los proyectos que ya tengamos creados, que mantendrán su codificación original. Es la opción recomendada.

Para realizar el cambio accedemos a Window > Preferences > General > Workspace y en el apartado Text File Encoding seleccionamos UTF-8 en el desplegable Other.

b) Configuración a nivel de proyecto

Si, por contra, queremos mantener la codificación por defecto de Zend Studio (CP1252), tenemos la opción de cambiar la codificación a nivel proyecto, de forma individual.

Para ello accedemos a las propiedades del proyecto (Botón derecho sobre el proyecto > Properties) y veremos que en el apartado Text file encoding tenemos dos opciones: mantener la configuración por defecto del entorno de trabajo, o especificar una nueva para ese proyecto (en la que seleccionaríamos UTF-8 del desplegable Other).

Sea como sea, una cuestión MUY IMPORTANTE es NO TOCAR la codificación a través de la opción Content Types de las preferencias de la aplicación. Al tocar esta opción, estamos indicando que todos los archivos con determinada extensión cambien su codificación, con lo provocaremos que los archivos creados con una codificación diferente a la que hemos establecido se visualicen de manera errónea.

2. Configurar  documentos HTML y CSS

Aunque hayamos cambiado la codificación a UTF-8 a nivel de entorno de trabajo o de proyecto, los nuevos archivos HTML creados desde Zend Studio estarán en ISO-8859-1.

Para establecer que los nuevos documentos HTML y CSS estén codificados en UTF-8, deberemos acceder a Window > Preferences > Web > HTML Files o CSS Files y, seleccionaremos ISO 10646/Unicode (UTF-8) en el selector Encoding del apartado Creating files.

Ahora, al crear un nuevo documento HTML o CSS , veremos que aparece lo siguiente en sus respectivas cabeceras:

HTML:

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

CSS:

@CHARSET "UTF-8";

3. Configurar PHPDocumentor

Aún habiendo realizado correctamente los pasos anteriores, veremos que si generamos la documentación de un proyecto UTF-8 usando PHPDoc, ésta se visualizará de forma errónea (acentos, tildes…).

Esto es debido a que las plantillas de PHPDocumentor están configuradas para codificación iso-8859-1, tal y como se puede ver en los archivos .tpl de, por ejemplo, la plantilla HTML:frames:default

<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
<?xml version="1.0"  encoding="iso-8859-1"?>

Para solucionar el problema, deberíamos crear una nueva plantilla -partiendo de una existente- substituyendo la cadena iso-8859-1 por UTF-8. El problema es que esta nueva plantilla generada no será mostrada por el asistente en el momento de generar la documentación, a causa de un error documentado de Zend Studio.

Aún así, podemos hacer lo siguiente:

1. Accedemos a la ruta donde se encuentran las plantillas HTML:frames de PHPDocumentor:

C:\Program Files\Zend\Zend Studio - 7.0.1\plugins\com.zend.php.phpdocumentor_7.0.0.v20090826-1200\Resources\phpdocumentor\phpDocumentor\Converters\HTML\frames\templates

2. Hacemos una copia del directorio default y le llamamos default-iso8859 (por ejemplo).

3. Con la ayuda de un editor de texto (por ejemplo: Notepad++), substituimos la cadena iso-8859-1 por UTF-8 en todos los archivos .tpl del directorio default.

Ahora, por defecto, la documentación de nuestros proyectos UTF-8 se generará correctamente y siempre dispondremos de la plantilla original en caso de necesitar documentar un proyecto antiguo.

4 Comentarios

Licencia para estudiantes de Zend Studio

Aunque no hay ninguna referencia de ello en la web (o al menos no está visible), Zend está ofreciendo un precio especial para estudiantes en la adquisición de sus productos.

Concretamente, es posible adquirir Zend Studio (licencia perpetua) con un año de soporte y actualizaciones por 99 €, mientras que el precio de venta al público del mismo producto es de 399 €.

Captura Zend Studio

¿Como conseguir el descuento?

En primer lugar, deberemos ponernos en contacto con un responsable de ventas a través de la web, indicando que deseamos adquirir el producto con la licencia para estudiantes. En breve se pondrán en contacto con nosotros para solicitarnos la documentación que acredite que somos estudiantes (podemos escanear el carnet de la universidad o el ISIC, si disponemos de él).

Pasados unos días recibiremos un e-mail con una URL para realizar el pago con el precio promocional y, una vez realizado, nos enviarán nuestra license key con la que podremos realizar la activación del producto.

0 Comentarios

NicEdit: Sencillo editor WYSIWYG para formularios web

NicEdit es un editor de texto enriquecido para formularios web sencillo, ligero y muy fácil de implementar.

NicEdit

¿Cómo usarlo?

La aplicación destaca, precisamente, por sus posibilidades de personalización y facilidad de uso.

Una vez realizada la llamada al script podemos indicarle que convierta todos los textarea de la página usando la siguiente función:

<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">
     bkLib.onDomLoaded(nicEditors.allTextAreas);
</script>

También podremos especificar los textarea concretos a través del ID, así como personalizar cada uno de ellos (dimensiones, botones…). En la sección demos de la web nos exponen diversos ejemplos de configuración, en los que quedan reflejados la mayoría de opciones posibles.

0 Comentarios
Página 1 de 3123