¿Qué es mojibake?

Mojibake es el nombre técnico de los caracteres raros: ñ en vez de ñ, é en vez de é o ¿ en vez de ¿. Aparece cuando un texto se guarda en una codificación y se lee en otra, y en la mayoría de los casos se puede reparar por completo. Pega abajo un texto dañado y pruébalo.

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)

De dónde viene la palabra

Mojibake (文字化け) es japonés: “moji” significa “carácter” y “bake”, “transformación”. En los años 90, los ordenadores japoneses usaban varias codificaciones a la vez – Shift_JIS, EUC-JP e ISO-2022-JP –, así que los correos y páginas web ilegibles eran algo cotidiano. La palabra se quedó y pasó al inglés y al español. En el día a día solemos hablar simplemente de “caracteres raros” o “símbolos extraños”.

Cómo se produce

Los ordenadores guardan el texto como bytes. La codificación define qué bytes corresponden a cada carácter. En UTF-8, la ñ se guarda como los dos bytes C3 B1. Un programa que lee esos bytes como Windows-1252 muestra un carácter por cada byte: Ã para C3 y ± para B1.

En este paso no se pierde nada: los bytes siguen ahí, solo se leen mal. Por eso el mojibake casi siempre tiene arreglo: Mojibuster convierte los caracteres equivocados de nuevo en bytes y los lee correctamente.

Texto UTF-8 leído como Windows-1252

Mojibake

Año, canción, corazón – 5 €

Reparado

Año, canción, corazón – 5 €

Mojibake en otros idiomas

  • Japonés: 縺薙s縺ォ縺。縺ッ en vez de こんにちは: UTF-8 leído como Shift_JIS. Más en la página en japonés.
  • Chino: 浣犲ソ en vez de 你好: UTF-8 leído como GBK. En chino se llama 乱码 (luànmǎ, “código caótico”).
  • Ruso: Привет en vez de Привет: UTF-8 leído como Windows-1251. En Rusia lo llaman “krakozyabry”.
  • Español, francés, portugués…: ñ, á o € en vez de ñ, á o €, la forma más común en todo el mundo.

Causas típicas

  • Excel abre con doble clic un CSV en UTF-8 sin BOM como si fuera ANSI: Excel muestra caracteres raros.
  • Una exportación CSV de una tienda online, un CRM o un banco se abre con la codificación equivocada: reparar CSV.
  • Una web o un correo declara un charset incorrecto, o la conexión a la base de datos usa latin1: reparar caracteres UTF-8.
  • Los subtítulos se guardaron en una codificación antigua: subtítulos con caracteres raros.
  • Un texto ya dañado se convierte otra vez: doble mojibake como ñ.

¿Siempre se puede arreglar?

Casi siempre, mientras los bytes sigan intactos. Ya no es posible cuando un programa ha sustituido los caracteres por ? o por el carácter de reemplazo �: la información original se ha perdido. Mojibuster repara todo lo que se puede reparar, hasta tres niveles de codificación a la vez, y te indica cuántos caracteres se han perdido.

Cómo evitarlo

  • Guarda los archivos en UTF-8; los CSV para Excel, como CSV UTF-8 (delimitado por comas), que añade un BOM.
  • Declara la codificación: <meta charset="utf-8"> en HTML, utf8mb4 en MySQL y MariaDB.
  • Convierte el texto una sola vez, en el límite entre dos sistemas.
  • Al importar, elige la codificación tú mismo en lugar de dejar que el programa la adivine.

Preguntas frecuentes

¿Cómo se pronuncia mojibake?

Más o menos “mo-yi-ba-ke”, con la j suave como en inglés y las cuatro sílabas pronunciadas.

¿Mi archivo está dañado o tiene un virus?

No. El mojibake es un problema de visualización, no un virus, y normalmente no hay pérdida de datos. El archivo solo se está leyendo con la codificación equivocada.

¿Qué diferencia hay entre mojibake y �?

Los caracteres raros como ñ todavía contienen los bytes originales y se pueden reparar. El símbolo � indica que un programa no pudo leer un byte y lo sustituyó: ese carácter se ha perdido.

¿Se sube mi texto a algún servidor?

No. Mojibuster repara el texto en tu navegador. No se envía ni se guarda.

Más guías