Simple Daisy Web Player y codificaciones : lecciones aprendidas

En un proyecto que estamos realizando de un Máster de Recursos Humanos, se ha implementado el contenido del curso online con accesibilidad para personas con deficiencias visuales.


Se decidió usar el estándar de facto DAISY , y se procedió a enlazar la plataforma online a estos contenidos a través de un reproductor desarrollado en HTML5 y CSS3 llamado Simple Daisy Web Player .


Este reproductor es muy completo y bastante configurable, pero teníamos un problema con la codificación del control ajax que carga los contenidos en el reproductor : nuestro servidor está configurado para servir contenido UTF-8, y los contenidos que queríamos cargar estaban en iso-8859-1 .


En el archivo cross.php, que carga los contenidos si no están en el mismo dominio que el reproductor, se hace uso de la función file_get_contents para mostrar la url externa, pero muestra el contenido en UTF-8, que es la codificación de nuestro servidor.


Por lo tanto, se muestran caracteres extraños y no es posible una visualización correcta.


Encontré la solución en la página php.net, en uno de los comentarios.
Es una función que parsea la codificación de la url externa y sirve la codificación correcta :


function file_get_contents_utf8($fn) {
     $content1 = file_get_contents($fn);
      return mb_convert_encoding($content1, 'UTF-8',
          mb_detect_encoding($content1, 'UTF-8, ISO-8859-1', true));
}


Sustituimos la llamada a file_get_contents por file_get_contents_utf8 y ya tenemos nuestro contenido correctamente codificado y a nuestro cliente contento.

Un saludo y hasta la próxima.

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <pre>, <c>, <cpp>, <csharp>, <css>, <drupal5>, <drupal6>, <html>, <java>, <javascript>, <jquery>, <mysql>, <php>, <python>, <robots>, <ruby>, <sql>, <tsql>, <vb>, <vbnet>, <xml>. The supported tag styles are: <foo>, [foo]. PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

Más información sobre opciones de formato

CAPTCHA
Esta pregunta se hace para comprobar que es usted una persona real e impedir el envío automatizado de mensajes basura.
CAPTCHA de imagen
Escriba los caracteres que se muestran en la imagen.