UTF-8, probado, probando... 漢音
por Fernando Plaza en Programación, El Reto Blogger, CMS, CompareBlogs
Hasta el momento utilizábamos ISO-8859-1 (latin1), que para escribir en español va de maravilla, pero más allá de eso no da más de si y para CompareBlogs necesitamos más porque tenemos usuarios que han dado de alta blogs en muchos idiomas y cuando intentamos importar sus tags o cualquier otra información de las apis de delicious, technorati o bloglines nos encontramos con que muchas veces no podemos hacerlo porque el contenido ha sido escrito en griego, japonés o quién sabe.
El cambio lo intentamos hace ya bastante tiempo pero nos dimos de bruces con un impedimento que parecía insalvable, todo nuestro código está escrito en Vbscript y utilizamos ODBC para conectarnos a mySQL y el conector que había en ese momento (MySQL Connector/ODBC 3.51) no era compatible con UTF8.
Por suerte desde principio de año ya está disponible el nuevo conector/ODBC 5.1 que parece que sí es compatible. Como siempre, las pruebas las está sufriendo este blog y vosotros que me leéis.. y cuando aquí todo vaya bien iremos realizando el cambio en el resto de webs.
El procedimiento ha sido el siguiente:
1 - Leer los siguientes artículos, para refrescar mis parcos conocimientos:
3 - Crear una base de datos nueva (en mySQL 4.1 o superior) e importar el archivo modificado. Ahora los datos de los que se alimenta la web deberían estar todos en UTF-8.
4 - Ahora hay que modificar el meta tag del charset y cambiarlo a utf-8. De esa manera le diremos al explorador que nos visite, que nuestra página está escrita en utf8.
Generando ficheros en formato UTF-8
Una de los problemas que me he encontrado es a la hora de generar los feeds, ya que hasta el momento los metía en una variable y luego el contenido de esa varible lo volcaba en un fichero de texto con FSO (FileSystemObject)
Estamos migrando el charset de todos nuestro CMS a UTF-8 y con ello el de todos los blogs que gestionamos con él.
Hasta el momento utilizábamos ISO-8859-1 (latin1), que para escribir en español va de maravilla, pero más allá de eso no da más de si y para CompareBlogs necesitamos más porque tenemos usuarios que han dado de alta blogs en muchos idiomas y cuando intentamos importar sus tags o cualquier otra información de las apis de delicious, technorati o bloglines nos encontramos con que muchas veces no podemos hacerlo porque el contenido ha sido escrito en griego, japonés o quién sabe.El cambio lo intentamos hace ya bastante tiempo pero nos dimos de bruces con un impedimento que parecía insalvable, todo nuestro código está escrito en Vbscript y utilizamos ODBC para conectarnos a mySQL y el conector que había en ese momento (MySQL Connector/ODBC 3.51) no era compatible con UTF8.
Por suerte desde principio de año ya está disponible el nuevo conector/ODBC 5.1 que parece que sí es compatible. Como siempre, las pruebas las está sufriendo este blog y vosotros que me leéis.. y cuando aquí todo vaya bien iremos realizando el cambio en el resto de webs.
El procedimiento ha sido el siguiente:
1 - Leer los siguientes artículos, para refrescar mis parcos conocimientos:
- Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) de Joel Spolsky.
- Survival guide to i18n de Sam Ruby
3 - Crear una base de datos nueva (en mySQL 4.1 o superior) e importar el archivo modificado. Ahora los datos de los que se alimenta la web deberían estar todos en UTF-8.
4 - Ahora hay que modificar el meta tag del charset y cambiarlo a utf-8. De esa manera le diremos al explorador que nos visite, que nuestra página está escrita en utf8.
Generando ficheros en formato UTF-8
Una de los problemas que me he encontrado es a la hora de generar los feeds, ya que hasta el momento los metía en una variable y luego el contenido de esa varible lo volcaba en un fichero de texto con FSO (FileSystemObject)
Set fso = CreateObject("Scripting.FileSystemObject")
Set myFile = fso.CreateTextFile(ruta_archivos & FOLDER_ATOMXML & "" & post_uri & ".xml", True)
myFile.Write(entry_v)
myFile.Close
Que funcionaba perfectamente, pero que para crear archivos UTF-8 no vale, por lo que lo hemos tenido que cambiar por algo como esto: Set fsT = CreateObject("ADODB.Stream")
fsT.Type = 2 'Specify stream type - we want To save text/string data.
fsT.CharSet = "utf-8"
fsT.Open
fsT.writetext entry_v
fsT.SaveToFile ruta_archivos & FOLDER_ATOMXML & "" & post_uri & ".xml", 2
fsT.close
set fsT= Nothing
Asi que os seguiré contando como va esta aventura, que supongo que me terminará dando más lata de la que pienso.| Capturando pantallazos de webs para obtener logotipos y thumbs | |
| Gracias al API de bluga.net se pueden obtener pantallazos de cualquier web, incluidas las desarrolladas en Flash, a partir de las cuales obtener con facilidad los logos de los establecimientos. | |
| Profesión: Ahorrador de tiempo | |
| El espiritu de un desarrollo informático debe ser la busqueda del ahorro del tiempo del usuario, eliminando tareas monótonas y repetitivas: ¿puedes conseguir que el trabajo se convierta en un juego? | |
| Thumbs en condiciones: como en Gmail y Facebook | |
| Había algo de nuestro CMS que me llevaba asqueando desde hace bastante tiempo: la generación de thumbs... asi que hemos mejorado el sistema, aquí explico cómo funciona y cómo está programado. | |
| Adios Blogger... fue bonito mientras duró | |
| Nada como aprovechar el fin de semana para tomar decisiones drásticas e irreversibles. Finalmente dejamos de utilizar por completo Blogger para publicar nuestros blogs y pasamos a manejarlo todo con nuestro propio CMS (que además es mucho mejor)... y por... | |









