Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Convertir un fichero txt de utf-8 a ANSI

Estas en el tema de Convertir un fichero txt de utf-8 a ANSI en el foro de PHP en Foros del Web. Saludos a todos Tengo que generar un fichero txt desde un archivo excel, y el archivo debe estar codificado con ANSI en lugar de UTF-8. ...
  #1 (permalink)  
Antiguo 02/09/2013, 03:14
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 18 años, 5 meses
Puntos: 0
Convertir un fichero txt de utf-8 a ANSI

Saludos a todos

Tengo que generar un fichero txt desde un archivo excel, y el archivo debe estar codificado con ANSI en lugar de UTF-8.

He probado diferentes opciones y ninguna me funciona bien
La primera ha sido cambiar las cabeceras del fichero mediante :
header('Content-Type: text/plain;charset=iso-8859-1');ó windows-1252 ó ansi

Luego he probado ha convertir el fichero en windows y subirlo al servidor, pero al leer los datos de la base de datos no me reconoce el fichero o no lo encuentra. Me muestra el siguiente mensaje:
Error loading file fichero.txt

¿Alguna sugerencia sobre como resolver esto?

Gracias por adelantado
  #2 (permalink)  
Antiguo 02/09/2013, 05:34
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 14 años, 3 meses
Puntos: 175
Respuesta: Convertir un fichero txt de utf-8 a ANSI

Que tiene que ver con PHP tu problema? o es que hay código PHP implicado? pues no lo veo..

Saludos
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 02/09/2013, 09:04
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Convertir un fichero txt de utf-8 a ANSI

Ok. Perdon por el despiste.
El fichero lo genero leyendo un excel mediante PhpExcel y a la hora de volcarlo en el txt que necesito generar la codificación del fichero se queda en utf-8, pero me exigen que la codificación sea ANSI.
He probado a modificar las cabeceras tal y como comentaba más adelante, pero el archivo sigue codificado mediante utf-8
A parte de los métodos que he comentado, ¿se os ocurre alguna otra cosa más?

Gracias por el interes
  #4 (permalink)  
Antiguo 02/09/2013, 18:38
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 14 años, 8 meses
Puntos: 528
Respuesta: Convertir un fichero txt de utf-8 a ANSI

Puedes usar utf8_decode(), iconv() o mb_convert_encoding()
  #5 (permalink)  
Antiguo 03/09/2013, 00:55
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Convertir un fichero txt de utf-8 a ANSI

Gracias por la respuesta ocp001a, pero esas cadenas lo que hacen es convertir cadenas de texto y lo que necesito es convertir el fichero.
He probado tambien a ejecutar iconv desde mi servidor para convertir el fichero, pero no me funciona.

Es para una migración a Amazon

Sigo mirando alguna otra solución y ya comentaré como quedo

Gracias por las respuestas
  #6 (permalink)  
Antiguo 03/09/2013, 01:24
Avatar de bet7o  
Fecha de Ingreso: febrero-2010
Ubicación: DF
Mensajes: 315
Antigüedad: 13 años
Puntos: 20
Respuesta: Convertir un fichero txt de utf-8 a ANSI

Esto te puede servir.

Código PHP:
Ver original
  1. $file_name = 'archivo.txt';
  2. $f = file_get_contents($file_name);
  3. $f = iconv("UTF-8", "WINDOWS-1252", $f);
  4. file_put_contents($file_name, $f);

Yo en alguna integración de facturación tenia que mandar un archivo en utf-8, cuando lo descargaba desde mi maquina la codificación era esa pero en el otro sistema la tomaba con otra codificación y mi solución fue agregar el BOM al inicio del archivo.

Código PHP:
Ver original
  1. file_put_contents($this->_path() . $file_name, "\xEF\xBB\xBF" . $string);

Saludos!
__________________
Pero el no contaba con una cosa, mi peligroso desinteres por la vida humana
  #7 (permalink)  
Antiguo 03/09/2013, 03:00
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Convertir un fichero txt de utf-8 a ANSI

Gracias bet7o

Lo he probado y me funciona bien.



Lo doy por solucionado.

Gracias a todos por los comentarios

Saludos

Última edición por chemon; 03/09/2013 a las 03:11

Etiquetas: ansi, fichero, txt, utf-8
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:28.