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
  • 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í
  • Sin subir archivos. Tus archivos se reparan directamente en tu navegador y nunca salen de tu dispositivo.

  • Servidores en la UE. Mojibuster funciona en un servidor en Finlandia (UE); se aplica el Reglamento General de Protección de Datos (RGPD). Texto del RGPD (EUR-Lex)

¿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.
  • 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.

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

Sí. Activa la opción Convertir también códigos HTML. Códigos como &ntilde;, &#241; y &#xF1; se convierten entonces en caracteres reales.

¿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