Herramienta propia
Encoding Checker

Acentos rotos.Diagnóstico organizado.

Una herramienta propia para investigar problemas de codificación en proyectos.

Encuentra y señala cada acento roto del proyecto.

App de escritorioUTF-8Personal

  • Tauri 2
  • Rust
  • React 18
  • TypeScript
Herramienta propiaEscaneo
del proyecto
Ocurrencias
con contexto
Informes de
diagnóstico
Encoding Checker

Acentos rotos.Diagnóstico organizado.

Una herramienta propia para investigar problemas de codificación en proyectos.

  • Tauri 2
  • Rust
  • React 18
  • TypeScript

Encuentra y señala cada acento roto del proyecto.

App de escritorioUTF-8Personal

  • Tauri 2
  • Rust
  • React 18
  • TypeScript

PortafolioEncoding Checker

El problema

VEÍCULOS se volvió VE?CULOS.

Un acento roto casi nunca es un error de tipeo: es el archivo guardado en un estándar de letras y leído en otro. Por fuera, la palabra solo se ve rara; por dentro, los bytes cuentan qué pasó. Elige una situación y toca o pasa el mouse por las letras.

Cuatro situaciones

LetraBytes en el archivo

Lo que dice el programa

  • OKUTF-8 válido. La Í ocupa dos bytes (C3 8D), como debe.

Es el estándar de hoy: cada letra con acento son dos bytes, y cualquier programa la lee igual.

Los bytes son los reales de cada estándar; los mensajes siguen las revisiones del núcleo en Rust (analyze_file).

Escena del proyecto: el programa abierto en un portátil, con una lupa e íconos de código

Del archivo al contexto. Mira dónde investigar.

Ocurrencias por archivo, línea y columna para apoyar el mantenimiento.

Archivo, línea y columnaContexto de la ocurrenciaFiltros por gravedad

Un proyecto tiene cientos de archivos, y el acento roto puede estar en cualquiera. El programa los lee todos y entrega la lista: cuáles están bien, cuáles piden atención y, en cada uno, la línea, la columna y el texto alrededor, para ir directo al lugar.

  • Estándar de letras: windows-1252Fin de línea: CRLF

    1. 12 <label>Ve�culo</label>FFFD_REPLACEMENTLínea 12 · columna 18
    2. 27 placeholder="Endere�o"FFFD_REPLACEMENTLínea 27 · columna 23

El informe sale en tres formatos

# HUNT Encoding Checker - Report

**Scan Date:** 2026-10-16 15:42:07

**Path:** D:/Projetos/loja-exemplo

**Total:** 6 files | **Critical:** 3 | **Warning:** 1 | **OK:** 1

---

## src/pages/cadastro.tsx [CRITICAL]

- Encoding: windows-1252
- BOM: No
- Line ending: CRLF

| Line | Type | Context |
|------|------|---------|
| 12 | FFFD_REPLACEMENT |   <label>Ve�culo</label> |
| 27 | FFFD_REPLACEMENT |   placeholder="Endere�o" |

Los archivos son de ejemplo. Los tipos de ocurrencia, las gravedades y el formato del informe son los del código (analyze_file y export_report_md); el texto del informe sale en inglés, como en el programa.

La red de seguridad

Antes de tocarlo, una copia.

Corregir archivos de un proyecto da miedo: ¿y si empeora? Por eso el programa exige una carpeta de copias. Antes de cualquier corrección, copia los archivos a una carpeta con fecha y hora y anota en un manifiesto de dónde vino cada uno. Si no te gusta, un clic deja todo como estaba.

Elige las correcciones

Copias guardadas

  1. _manifest.json

    {
      "id": "snapshot-20261014-092611",
      "timestamp": "2026-10-14 09:26:11",
      "files": [
        { "original_path": "D:/Projetos/loja-exemplo/src/pages/cadastro.tsx",
          "backup_name": "D__Projetos_loja-exemplo_src_pages_cadastro.tsx" },
        { "original_path": "D:/Projetos/loja-exemplo/README.md",
          "backup_name": "D__Projetos_loja-exemplo_README.md" }
      ]
    }

Los nombres de la carpeta y del manifiesto son los que graba el programa (create_snapshot); las correcciones son las de apply_corrections. La carpeta de copias es obligatoria para corregir.

Escena del proyecto: la pantalla de comparar carpetas y dos carpetas de vidrio lado a lado

Herramienta de escritorio

Una herramienta propia. Una rutina más liviana.

Desarrollo propio para apoyar la calidad de los proyectos.

InformesComparación
de encoding
Correcciones
asistidas

Después de corregir, la pregunta es: ¿funcionó? El programa pone la carpeta original y la corregida lado a lado y señala, archivo por archivo, qué cambió en el estándar de letras, dónde desapareció el rombo y qué existe de un solo lado.

5 diferencias en 7 archivos

Carpeta originalloja-exemplo/Carpeta corregidaloja-exemplo-corrigida/
src/pages/cadastro.tsxwindows-1252�Cambió el estándarsrc/pages/cadastro.tsxUTF-8
docs/manual.txtUTF-8�Se fue el rombodocs/manual.txtUTF-8
README.mdUTF-8 BOMCambió el estándarREADME.mdUTF-8
src/styles/tema.cssASCIIIgualsrc/styles/tema.cssASCII
src/utils/log.tsUTF-8Igualsrc/utils/log.tsUTF-8
notas-antigas.txtUTF-8Solo en la original—
—Solo en la corregidadocs/changelog.mdUTF-8

La comparación mira el estándar de letras detectado, el carácter de sustitución y el tamaño de cada archivo (compare_directories); no revisa el texto línea por línea. Las carpetas son de ejemplo.

Lo que lee

Lee lo que es texto, salta lo que es peso.

Una carpeta de proyecto carga mucho que nadie escribió a mano: bibliotecas descargadas, versiones armadas, historial. El programa pasa la carpeta por un tamiz: lee los tipos de archivo de texto y de código y salta las carpetas pesadas que solo atrasarían el escaneo.

Una carpeta de proyectoSaltados

  • .ts
  • node_modules
  • .tsx
  • .next
  • .js
  • .git
  • .jsx
  • dist
  • .html
  • build
  • .css
  • .cache
  • .md
  • .vercel
  • .json
  • .turbo
  • .sql
  • coverage
  • .prisma
  • __pycache__
  • .env
  • target
  • .txt
  • .svn
  • .yml
  • .hg
  • .yaml

Leídos

  • 14tipos de archivo leídos
  • 13carpetas saltadas por nombre
  • 12funciones del núcleo en Rust

Las carpetas cuyo nombre empieza con { también quedan fuera. Antes de leer, el programa cuenta cuántos archivos va a mirar.

Las listas son las del núcleo (SCAN_EXTENSIONS y EXCLUDED_DIRS en main.rs); las funciones, las del generate_handler.

Las tecnologías

De qué está hecho, pieza por pieza

Un programa de escritorio que lee proyectos byte a byte: la pantalla es React dentro de Tauri 2, y el núcleo en Rust recorre las carpetas, estima el estándar de letras, señala cada ocurrencia y guarda las copias. Elige una pieza para ver qué hace aquí y en qué archivo está.

14tecnologías, en 3 capas

Pantalla

Ventana y núcleo

Lectura de archivos