Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 23-05-2025
victor03 victor03 is offline
Miembro
 
Registrado: feb 2025
Posts: 50
Poder: 2
victor03 Va por buen camino
Cita:
Empezado por navbuoy Ver Mensaje
El problema esta en esta linea:

Código Delphi [-]
OutputLine := WideString(Buffer);

Ese cast no convierte correctamente texto con acentos o caracteres especiales si el texto viene codificado en UTF-8

Tienes que reemplazar esa línea con una conversión correcta desde UTF-8 a WideString, usando UTF8Decode, que está disponible en Delphi 2005.

Modifica esto:

Código Delphi [-]
OutputLine := WideString(Buffer);
ConsolaSalida := ConsolaSalida + OutputLine;
LOG(CONSOLAsALIDA);

por esto:

Código Delphi [-]
var
  TempStr: UTF8String;
begin
  SetString(TempStr, Buffer, BytesRead);
  OutputLine := UTF8Decode(TempStr); // Convierte UTF8 → WideString
  ConsolaSalida := ConsolaSalida + OutputLine;
  LOG(OutputLine); // También puedes loguear solo lo nuevo

Si sabés que no está usando UTF-8, sino una codificación ANSI típica (como Latin1 / Windows-1252), utiliza esto en su lugar:

Código Delphi [-]
OutputLine := AnsiToWide(Buffer);

Pero en general, UTF-8 es lo estándar moderno, así que UTF8Decode() es lo más seguro.
Hola

creo que uso Latin1 el problema es que parece que la función AnsiToWide no esta en delphi 2005, le he preguntado al chatgpt y me ha montado una función pero no ha funcionado

aun así, después he probado lo del utf8Decode me ha preguntado: contains international characters. Do you wish to save this file in UTF8 encoding? If you choose 'NO', the international characters will be lost. le he dicho que 'yes' y el programa ha seguido funcionando, el decode ha funcionado a la hora de escribir en el log hasta que ha llegao a la linea que tiene un acento y la ha dejado en blanco:


Cita:
23/05/2025 13:39:37: utf8->
23/05/2025 13:39:37: WideString(AnsiToWide(Buffer))-> FACTURA|1/250090|Incorrecto|1124|El valor del campo TipoImpositivo no est* incluido en la lista de valores permitidos.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como copiar lineas de una consola? elmago00 Varios 7 06-08-2013 10:19:49
Leer 4 Lineas de dos Archivo .txt wcbs Varios 13 05-09-2012 15:05:36
ayuda ¿Como crear lineas verticales y horizontales en un programa tipo consola!! jeral15 Varios 5 13-06-2010 19:09:54
Leer salidas de consola para una GUI progmaq Varios 1 13-01-2005 15:56:14
Abrir COnsola y comandos del DOS sarga API de Windows 1 14-04-2004 04:30:01


La franja horaria es GMT +2. Ahora son las 08:09:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi