Repara caracteres UTF-8 mal codificados

Da igual si viene de una base de datos, un correo o una página web: pega el texto dañado y Mojibuster convierte ñ, € y ¿ de nuevo en ñ, € y ¿.

Funciona con texto y con estos archivos:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Por ejemplo exportaciones de Excel, copias de bases de datos, subtítulos o código web.

Reparar

  1. Suelta un archivo o pega texto
  2. Se repara automáticamente
  3. Copia o descarga
o simplemente arrastra un archivo aquí

¿Qué es el mojibake?

El mojibake son caracteres ilegibles que aparecen cuando un texto se guarda con una codificación y se lee con otra. Lo más habitual es que un texto UTF-8 se lea por error como Windows-1252 o ISO-8859-1. Cada byte de un carácter especial aparece entonces como un carácter propio.

Causas habituales

  • La conexión a la base de datos usa latin1 aunque los datos estén en UTF-8.
  • El servidor web envía charset=ISO-8859-1, pero la página está guardada en UTF-8.
  • Un programa de correo o de boletines declara una codificación incorrecta: suele afectar a comillas, rayas y signos.
  • Se copia texto entre programas que esperan codificaciones distintas.
  • Una web antigua o un WordPress migrado de servidor mezcla datos en Latin-1 y en UTF-8.

Dañado dos veces: ñ

Si un texto ya dañado se vuelve a convertir mal, aparece un mojibake doble: la ñ pasa primero a ñ y después a ñ. Mojibuster también detecta estos niveles y repara hasta tres de una vez.

Para desarrolladores: corregir la causa

  • Define <meta charset="utf-8"> en el HTML y envía la cabecera Content-Type: text/html; charset=utf-8.
  • Usa utf8mb4 en MySQL y MariaDB para las tablas y la conexión (SET NAMES utf8mb4).
  • Guarda los archivos de código fuente en UTF-8 sin BOM.
  • Convierte el texto una sola vez: en el límite entre tu sistema y el exterior.

Preguntas frecuentes

¿Qué significa el carácter �?

Es el carácter de sustitución U+FFFD. Un programa lo inserta cuando no puede leer un byte. El carácter original se ha perdido; Mojibuster te indica cuántas posiciones están afectadas. Cuándo se puede recuperar: signos de interrogación en vez de tildes.

¿Puedo convertir también códigos HTML como &ntilde;?

Sí. Activa la opción Convertir también códigos. Códigos como &ntilde;, &#241; y &#xF1; se convierten entonces en caracteres reales. Lo mismo vale para los códigos URL como %C3%B1.

¿Se guarda mi texto?

No. La reparación se hace en tu navegador. El texto no se envía ni se guarda.

¿Funciona con otros idiomas?

Sí. Mojibuster repara cualquier carácter que se haya leído mal desde UTF-8, por ejemplo acentos portugueses y franceses, diéresis alemanas, emojis o escritura japonesa.

Más guías