Ir al contenido


Foto

[RESUELTO] ¿ Como guardar un archivo ANSI como UTF-8 ?


  • Por favor identifícate para responder
6 respuestas en este tema

#1 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 12 julio 2011 - 11:30

Hola

Esto se hace fácil en Delphi 2009+, mi problema es que utilizo Delphi 2007, ¿ alguien sabe como guardar un archivo de texto como UTF-8 ?

Gracias

Salud OS
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 julio 2011 - 11:33

Pues.. ¿no es mejor utilizar la función Utf8Encode antes de guardar el archivo de texto?.

Saludos.
  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 12 julio 2011 - 11:36

Pues.. ¿no es mejor utilizar la función Utf8Encode antes de guardar el archivo de texto?.

Saludos.


Eso mismo es lo que hago e imaginaba que el problema estaba resuelto , pero...... el archivo sigue estando con formato ANSI aunque el contenido si está codificado.

Salud OS
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 julio 2011 - 11:47

Quizás esto te ayude.

Saludos

  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 12 julio 2011 - 12:14

Quizás esto te ayude.

Saludos


Hola amigo, el problema es el mismo, eso sólo funciona en Delphi 2009 o mayor, sigo buscando :)

Salud OS
  • 0

#6 seoane

seoane

    Advanced Member

  • Administrador
  • 1.259 mensajes
  • LocationEspaña

Escrito 12 julio 2011 - 02:02

Prueba con esto:


delphi
  1. procedure AnsiToUTF8(Str: AnsiString; Filename: String);
  2. var
  3.   F: File;
  4.   Escritos: Integer;
  5. begin
  6.   Str:= UTF8Encode(Str);
  7.   Str:= #$EF#$BB#$BF + Str;
  8.   AssignFile(F, Filename);
  9.   {$I-}
  10.     Rewrite(F,Sizeof(AnsiChar));
  11.   {$I+}
  12.   if IOResult = 0 then
  13.   begin
  14.     BlockWrite(F,PAnsiChar(Str)^,Length(Str),Escritos);
  15.     CloseFile(F);
  16.   end;
  17. end;


No lo he probado pero deberia funcionar.
  • 0

#7 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 12 julio 2011 - 03:19

¡Wow! Eres bárbaro amigo, que fácil haces ver las cosas, me sirvió perfecto (y) muchas gracias.

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.