2011-03-07 84 views
7

Actualmente estoy trabajando en una aplicación heredada Classic ASP + MS-Access. Recientemente convertí todos los archivos .asp a UTF-8 de la codificación ISO-8859 (Windows).Cómo convertir la codificación de la base de datos de MS Access a UTF-8?

El problema que tengo ahora es que el texto almacenado dentro de la base de datos (francés con caracteres acentuados) se visualiza incorrectamente cuando se representa dentro de las páginas web porque las codificaciones son inconsistentes. ¿Cómo convierto mi codificación de base de datos MS Access de ISO-8859 a UTF-8?

+0

¿Qué versión de MS Access? –

+0

Es Access 2003. –

+0

Ctrl + H (reemplazar) –

Respuesta

1

Terminé usando Server.HTMLEncode para el texto que sale de mi base de datos. Rompió completamente todo el código HTML que había almacenado allí, así que tuve que escribir un hack feo para evitar convertir las etiquetas html a cadenas html-safe. Ahora funciona, pero ciertamente no es la solución más elegante ...

5

¿Cómo convierto la codificación de la base de datos MS Access de ISO-8859 a UTF-8?

Usted no lo hace. El acceso puede manejar texto Unicode pero NO lo almacena como UTF-8. Hay formas de insertar directamente texto codificado en UTF-8 en los campos de Acceso Text, pero eso lleva a un comportamiento extraño como se ilustra en mi otra respuesta, here.

Para una aplicación ASP, simplemente use las páginas .asp codificadas como UTF-8, indique a IIS que produzca salida UTF-8 (mediante la directiva <%@ CODEPAGE = 65001 %>) y permita que IIS y el controlador Access OLEDB manejen la conversión entre "Acceso Unicode "y UTF-8.

Para un ejemplo detallado de acceso, ASP clásico, y UTF-8 ver mi respuesta aquí:

Capture and insert Unicode text (Cyrillic) into MS access database

Nota Importante

tenga en cuenta que no debe utilizar un Access base de datos como un almacén de datos back-end para una aplicación web; Microsoft recomienda encarecidamente que no lo haga (ref: here).

Cuestiones relacionadas