![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Caracteres Raros Inicio Cadena
Hola Amigos, nuevamente solicitando su apoyo y EXPERTIS en delphi
Trabajo con: Delphi6, W10, FB 2.0. Les cuento, estoy trabajando con archivo planos separados por PIPEs ("|"). Para esto estoy usando archivo .INI para definir la estructura del archivo, componentes ADO y DBGRID para mostrar los datos. Pero estoy viendo q en la primera fila (no del archivo) si no en el DBGRID, en la primer columna aparacen unos caracteres raros -supongo que ha de ser para identificar el incio del archivo- los cuales ocupan espacio y no muestra la cadena completa: Código:
20250318071 Código:
20250318071034 Gracias de antemano.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! Última edición por mRoman fecha: 11-07-2025 a las 20:05:18. |
|
#2
|
||||
|
||||
|
Ya vi como quitarselo.
Edité el archivo en el bloc de notas y le cambié la codificacion al archivo a UTF-8 y con eso quitó los caracteres raros en el DBGRID.... Existe alguna forma de cambiar la codificación automaticamente en DELPHI??
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
|
#3
|
||||
|
||||
|
Eso es el BOF de un fichero utf8 mostrado con codificación iso8859
Un utf8 puedes guardarlo con BOF o sin BOF, en tu caso trae BOF (Begin Of File) Puedes eliminarlo sin problemas. Aunque en tu caso creo que es BOM, begin of mark, creo que se llama, similar a lo anterior.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
SOLUCION DESDE DELPHI (funcion añadida)
1. Leer el archivo como texto. 2. Detectar y eliminar el BOM si está presente. 3. Guardar el contenido como UTF-8 sin BOM. ¿Qué es el BOM? El BOM (Byte Order Mark) en UTF-8 son los tres primeros bytes del archivo: CÓDIGO EJEMPLO EN DELPHI
Cómo usarlo:
o puedes incluso sobreescribirlo si quieres:
Esa línea:
lo que hace es detectar los tres primeros caracteres del archivo codificados como bytes y comprobar si coinciden con la marca BOM de UTF-8, que son estos tres bytes hexadecimales: $EF = 239 = ï $BB = 187 = » $BF = 191 = ¿ Entonces, si ese BOM se interpreta como texto (por ejemplo, en un Memo.Lines.Text), lo que vas a ver es:
Esos son los caracteres raros que ves al principio de muchos archivos .ini, .txt, .json, etc., guardados como UTF-8 con BOM. Última edición por navbuoy fecha: 12-07-2025 a las 17:41:06. |
|
#5
|
||||
|
||||
|
Gracias "navbuoy", lo probaré y les comento como quedó.
Saludos y gracias por su tiempo a todos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! Última edición por Casimiro Noteví fecha: 22-07-2025 a las 17:25:54. |
|
#6
|
||||
|
||||
|
Solucionado
Hola buenos dias.
El código que me proporcionó "navbuoy" me ayudo, me orientó a como solucionarlo. El problema con ese código es que no es para la version de Delphi que estoy usando (D6), por lo tanto lo cambie y quedó de este forma:
Y lo mando llamar asi:
Agregue un componente TFileListBox para agregar ahi los archivos que se van a procesar y tomar de ahi el nombre, que es enviado como parámetro al procedimiento "RemoveBOMFromFile". Gracias a todos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Caracteres raros al capturar fichero txt | comba | Varios | 4 | 07-09-2010 17:59:07 |
| caracteres raros en delphi | unko! | Varios | 7 | 19-12-2006 11:56:34 |
| Caracteres raros al imprimir reporte | joserobertorc | Impresión | 0 | 07-01-2005 21:22:18 |
| Caracteres Raros en Impresora de Tickets | muli | Impresión | 7 | 16-04-2004 21:13:11 |
| Caracteres raros con dbase | kes | Conexión con bases de datos | 4 | 09-07-2003 20:05:15 |
|