Enqre
Volver al blog

Publicado el 11/8/2026

¿Por qué mi código QR muestra caracteres raros? (UTF-8 explicado)

¿Por qué mi código QR muestra caracteres raros? (UTF-8 explicado)

Los caracteres raros en el resultado de un QR — Café en vez de Café, Müller en vez de Müller, cuadros o interrogantes en lugar de cirílico — casi siempre se reducen a una cosa: un desajuste de codificación de caracteres. El código se creó con la codificación de texto equivocada, así que el teléfono decodifica mal las letras acentuadas o no latinas. La solución es generarlo en UTF-8 desde el principio.

Qué aspecto tiene el galimatías

Los síntomas se reconocen en cuanto los has visto:

  • Caracteres «Ã» de más: Café se vuelve Café, Müller se vuelve Müller, Señor se vuelve Señor.
  • Cuadros o interrogantes: мой o 北京 salen como ���, □□□ o ???.
  • Emoji que falta: un emoji desaparece o se convierte en un cuadro.

El texto ASCII simple —a–z, 0–9, puntuación básica— nunca se ve afectado. El problema solo toca las letras acentuadas (é, ü, ñ, ç, å), las escrituras no latinas (cirílico, griego, árabe, chino) y los emoji.

La causa real: cómo guarda el texto un código QR

Un código QR no guarda letras; guarda bytes. Para convertir la palabra «Café» en bytes, el generador tiene que elegir una codificación de caracteres: una tabla que asigna letras a números. El estándar moderno es UTF-8, y es lo que esperan las cámaras de los móviles.

El problema empieza cuando un generador usa en su lugar una codificación antigua de un byte —ISO-8859-1 (Latin-1) o Windows-1252— o produce UTF-8 sin señalizarlo. UTF-8 escribe «é» con dos bytes; Latin-1 con uno. Cuando los bytes escritos con una codificación se leen con otra, el teléfono reconstruye el carácter equivocado y obtienes Café. Parece un fallo del teléfono, pero el desajuste quedó grabado en el código al generarlo.

Dónde afecta más

En cualquier sitio donde un QR lleve texto directamente, no solo un enlace:

  • Códigos WiFi con nombre de red o contraseña con acentos — el teléfono intenta unirse a «Café-Guest» y falla, o muestra el nombre equivocado.
  • Códigos de contacto vCard cuyo nombre lleva acento — José, Müller o cualquier nombre cirílico se guarda mal.
  • Códigos de texto y nota en cualquier idioma que no sea inglés.
  • URLs con caracteres no ASCII que no se codificaron en porcentaje.

Cómo arreglarlo

Usa un generador que codifique en UTF-8. Esa sola elección resuelve todos los casos de arriba. Nuestras herramientas gratis lo hacen a propósito: la biblioteca de base usa Latin-1 por defecto, así que la cambiamos a UTF-8 justo por esto:

Si generas códigos en tu propio software, fuerza el modo byte UTF-8. Para máxima compatibilidad con lectores antiguos, algunos códigos añaden una marca ECI que declara el juego de caracteres al escáner; su soporte es desigual, así que la vía fiable es codificar en UTF-8 y probar en un móvil real.

Comprueba antes de imprimir

La prueba más segura es escanear tu propio código y leer lo que dice. Súbelo al comprobador de escaneo de códigos QR gratis: decodifica la imagen y muestra el texto exacto que contiene el código, para que veas «Café» o «Café» antes de que llegue a un cliente. Si ahí sale raro, vuelve a generarlo en UTF-8; un código impreso no se arregla después.

Preguntas frecuentes

¿Por qué mi código QR de WiFi muestra mal el nombre de la red?

El nombre de la red o la contraseña contiene un carácter acentuado o no latino, y el código se creó en Latin-1 en vez de UTF-8. Recréalo con un generador UTF-8 y el nombre sale correcto.

¿Por qué mi QR de contacto escribe mal mi nombre?

La misma causa: una vCard con un nombre acentuado o cirílico codificada en el juego de caracteres equivocado. Un generador de vCard UTF-8 lo arregla.

¿El código QR guarda el idioma o el juego de caracteres?

No por defecto. En modo byte, un QR guarda bytes en bruto sin juego de caracteres asociado, y los lectores suponen UTF-8. Un código puede incluir una marca ECI para declarar el juego de caracteres explícitamente, pero no todos los lectores la respetan; por eso codificar en UTF-8 y probar es la combinación segura.

¿Puedo arreglar un código QR ya impreso?

No. Los bytes están fijos en el patrón impreso, así que un código WiFi o vCard con caracteres raros hay que regenerarlo en UTF-8 y reimprimirlo. Un código de redirección dinámico es distinto —puedes cambiar su destino—, pero aquí el galimatías vive en los datos incrustados, no en un enlace.

¿Funcionan los emojis en los códigos QR?

Sí, mientras el código sea UTF-8: los emoji son caracteres UTF-8 de varios bytes. Un generador Latin-1 no puede representarlos. Los emoji también densifican el código, así que mantén corto el resto del contenido.

Crea un código que acierte los caracteres a la primera: prueba los generadores de WiFi y vCard gratis, o crea un código dinámico con tu logo y estadísticas.

Sigue leyendo