Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Miseryk en 6 Abril 2022, 21:14 pm



Título: Escribir Archivo UTF8
Publicado por: Miseryk en 6 Abril 2022, 21:14 pm
Hola buenas,

estoy teniendo un problema, tengo la siguiente string

abcdefghijklmnñopqrstuvwxyz 0123456789º'¡`+´ç<,.-/*ª!"·$%&()=?¿^¨Ç;:_\|@#~€¬[]{}

cuando intento guardar cada caracter en líneas diferentes, se rompe:

Código
  1. function WriteFile($file, $data)
  2.    {
  3.        //file_put_contents($file, $data.PHP_EOL , FILE_APPEND | LOCK_EX);
  4.        $fp = fopen($file, "a+");
  5.        fwrite($fp, $data.PHP_EOL); //\r\n doesn't work neither
  6.        fclose($fp);
  7.    }
  8.  

Si la guardo sin el "newline" se guarda bien (todo en una línea), acá dejo como se guardan con el newline.

https://pastebin.com/5hM6W5qp (https://pastebin.com/5hM6W5qp)

Alguno tiene idea de como solucionar ésto?

Desde ya muchas gracias, saludos!


Título: Re: Escribir Archivo UTF8
Publicado por: Miseryk en 6 Abril 2022, 21:48 pm
Bueno, luego de mucho buscar, se me dió por pensar que debe estar tomando el byte en vez del string, lo cual es raro, porque los precompilados no manejan tipo de datos, pero bueno, era éso, al loopear una string hay que hacer algo feo como ésto

Código
  1. for ($i = 0; $i < strlen($chars); $i++)
  2. {
  3.    WriteFile("test.txt", mb_substr($chars, $i, 1));
  4. }
  5.  

Espero que le sirve a alguien xD

Saludos!


Título: Re: Escribir Archivo UTF8
Publicado por: apuromafo CLS en 7 Abril 2022, 02:49 am
excelente ...

por otro lado, intentando entender el problema, es que según muchas fuentes
indican que los archivos antes de ser procesados deben ser convertidos.

https://stackoverflow.com/questions/4839402/how-can-i-write-a-file-in-utf-8-format


Saludos Cordiales