Foros del Web » Programando para Internet » PHP »

creando archivo con codificación

Estas en el tema de creando archivo con codificación en el foro de PHP en Foros del Web. Tengo un problema: Cuando creo un archivo con PHP @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $texto = $_POST [ 'texto' ] ;   $archivo   ...
  #1 (permalink)  
Antiguo 05/07/2011, 21:57
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 4
Pregunta creando archivo con codificación

Tengo un problema:
Cuando creo un archivo con PHP

Código PHP:
Ver original
  1. $texto = $_POST['texto'];
  2.  
  3. $archivo            = "ejemplo.txt";
  4. $abrir      = fopen($archivo, "w");
  5. fwrite($abrir, $texto);

Sé que fwrite crea el mismo archivo con el texto que se incluye, pero cuando abro con el "Bloc de notas" y veo la dodificacion sale ANSI, osea que no me va a leer las tildes ni "ñ" cuando llamo a este archivo en otra página...

¿como hago para crear el archivo con codificacion UTF-8 o ISO-...?
  #2 (permalink)  
Antiguo 05/07/2011, 22:10
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: creando archivo con codificación

De UTF-8 a ISO y viceversa:


Código PHP:
Ver original
  1. <?php
  2. echo "UTF-8 " . utf8_encode( $texto_iso ). "<br />";
  3. echo "ISO-8859-1 " . utf8_decode( $texto_utf ). "<br />";
  4. ?>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 05/07/2011, 22:21
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 4
Exclamación Respuesta: creando archivo con codificación


No quiero convertir de UTF-8 A ISO.. si no que cuando creo se crea el archivo sale con codificación ANSI.. es por eso que no se muestra las tildes... como hago para crear el archivo con codificacion UTF-8 o ISO..,
  #4 (permalink)  
Antiguo 05/07/2011, 22:34
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: creando archivo con codificación

has las pruebas. Y vea cual de las 2 te funciona.


P.D: Si saldriera con codificación ASCII no verias muchas cosas legibles.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #5 (permalink)  
Antiguo 06/07/2011, 00:10
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: creando archivo con codificación

tonydx16:

Aqui juegan varios factores, primero tenes que averiguar que charset por defecto utiliza tu Servidor para los archivos.txt, considerá que a diferencia de los html en los que podés definir el charset, en los txt no lo haces.

Podés indicarle en .htaccess

AddDefaultCharset utf-8

Pero tambien tenes que tener en cuenta cual es la codificación del origen de los datos, en mi ejemplo. el archivo php que genera, es decir, donde esta el form, tambien es utf-8 ya que lo puse en la misma carpeta con la directiva del .htaccess

Si el archivo fuese iso, o estes sacndo de una base de datos en iso, tendrias que usar utf8_encode() para el texto a guardar en el archivo

Fijate esta demo
http://emprear.com.ar/test2/

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 06/07/2011, 13:15
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 4
Pregunta Respuesta: creando archivo con codificación

mira sale bien pero.. quitando la codificacion UTF-8 a la página principal (en donde aparece el archivo)

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

cuando le quito eso todo me sale bien....pero ¿no que toda página debe tener algún tipo de codificación?...

Última edición por tonydx16; 06/07/2011 a las 13:37
  #7 (permalink)  
Antiguo 06/07/2011, 15:38
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: creando archivo con codificación

tonydx16:

Cuando creas un archivo tiene de por si una codificación, que vos establece a traves del editor de texto. (mirá http://foros.emprear.com/codificar/ ), asu vez vos debes indicarle al navegador que codificación estás usando, normalmente eso lo haces en los html/php , a traves de un <meta> o con la función header(), en los css. podés incluir al principio @charset "ISO-8859-1"; , hasta ahi ,todo muy bien...
pero vos estas creando un .txt, como se supone que le vas a decir al navegador que charset estás usando?

Lo primero es averiguar con que charset está sirviendo por defecto tu servidor los archivos .txt, como ya te indiqué, subi un txt vacio hecho en tu pc, guardalo como quieras ansi/ascii ó utf-8, y subilo, que en tu server no haya ninguna direciva al respecto en .htaccess, despues abri ese archivo en el navegador y verifica el charset que entrega el server, con firefox, es facil, vas a la direccion del archivo, click derecho, "ver información del archivo", ahi mismo podés ver el tipo y la codificación, cuando tengas eso resuelto, recién ahi podés ver con que codificación haces la página que tiene tu form y si aplicar o no el utf8_encode(),

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #8 (permalink)  
Antiguo 06/07/2011, 16:27
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 4
De acuerdo Respuesta: creando archivo con codificación

Oye muchisimas gracias...

Etiquetas: fwrite
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 22:08.