Foros del Web » Programando para Internet » PHP »

¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Estas en el tema de ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP? en el foro de PHP en Foros del Web. Hola. No he podido CREAR/GUARDAR un archivo en codificación UTF8 utiizando PHP y con la siguiente restricción: conteniendo únicamente un dígito Si aplico utf_encode() iconv() ...
  #1 (permalink)  
Antiguo 20/04/2013, 10:53
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Hola.

No he podido CREAR/GUARDAR un archivo en codificación UTF8 utiizando PHP y con la siguiente restricción:

conteniendo únicamente un dígito

Si aplico

utf_encode()
iconv()
mb_convert_encoding()

UNICAMENTE funciona si agrego un carácter tipo {ñ,tíldes, etc...}

Si guardo un string de solo digitos o caracteres ingleses lo crea como ASCII.

Pero debo crear ese archivo en UTF8 desde PHP y o bien vacío, o bien conteniendo únicamente números.

¿Alguien sabe cómo?
  #2 (permalink)  
Antiguo 20/04/2013, 11:32
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Pregunta tonta: Si el archivo queda vacío o contiene solo números... hay diferencia entre usar un juego de caracteres u otro?
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 20/04/2013, 12:19
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Cita:
Iniciado por Triby Ver Mensaje
Pregunta tonta: Si el archivo queda vacío o contiene solo números... hay diferencia entre usar un juego de caracteres u otro?
Para "FILTRO_DE_ARCHIVOS_CON_CODIFICACION.PHP" si hay diferencia.

Y allí es donde tengo el requerimiento.

Necesito que el archivo sea VERDADERO UTF8.
  #4 (permalink)  
Antiguo 20/04/2013, 14:00
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Tendrías que agregarle el BOM
http://es.wikipedia.org/wiki/Marca_d...ytes_%28BOM%29
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 20/04/2013, 15:04
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Cita:
Iniciado por David Ver Mensaje
Tendrías que agregarle el BOM[/url]
Claro que no.
Es preferible agregar un carácter latínocomentado:

//Sin un cracter como EÑE no se guarda en UTF8 :(

Tengo vacios en codificación UTF8 pero generados por OTRO software != PHP
  #6 (permalink)  
Antiguo 20/04/2013, 15:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Es que un archivo no es UTF-8 "per sé"; si no tiene una marca como el BOM o ninguna secuencia de bytes correspondiente a algún caracter especial (como la ñ que mencionas) no se puede diferenciar de un archivo guardado con otra codificación.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 20/04/2013, 16:06
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Cita:
Iniciado por David Ver Mensaje
un archivo no es UTF-8 si no tiene una marca como el BOM o UNA secuencia de bytes correspondiente a algún caracter especial
Pues yo tengo archivos con únicamente el contenido:

123

y son codificación UTF8, creados con siftware diferente a PHP.

Cuando hago lo mismo con PHP me genera solo codificación ASCII.
  #8 (permalink)  
Antiguo 20/04/2013, 16:09
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Cita:
Iniciado por Anarko Ver Mensaje
Claro que no.
Es preferible agregar un carácter latínocomentado:

//Sin un cracter como EÑE no se guarda en UTF8 :(

Tengo vacios en codificación UTF8 pero generados por OTRO software != PHP
No si tenia mucho sueño...

El texto CORRECTO es:

Código:
Claro que no.
Es preferible agregar un carácter latino comentado:

//Sin un cAracter como EÑE no se guarda en UTF8 :(

Tengo vaRios en codificación UTF8 pero generados CON OTRO software que no es PHP
  #9 (permalink)  
Antiguo 20/04/2013, 18:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

¿Estás seguro que lo guarda sin el BOM?

Hablar de codificación de caracteres no tiene sentido cuando el contexto es un archivo con un solo byte correspondiente a un caracter ASCII.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 20/04/2013, 18:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Pues a mí me encantaría ver el código de ese "FILTRO_DE_ARCHIVOS_CON_CODIFICACION.PHP", que menciona, y que es el origen del requerimiento...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 20/04/2013, 19:39
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Cita:
Iniciado por David Ver Mensaje
¿Estás seguro que lo guarda sin el BOM?
Claro que sí.

Puedes crear uno con el APTANA y luego testearlo con el Xvi32.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
a mí me encantaría ver el código de ese "FILTRO_DE_ARCHIVOS_CON_CODIFICACION.PHP", que menciona, y que es el origen del requerimiento...
no es uno solo, son múltiples includes que evaluan headers, llen fragmentos, luego reunen todo para imprimirlo... y en ese proceso evalua los encoding, hora de la modificación por que ELLA indica recurrencia de edición, etc...

Cuando uno de los FILES con STRING X no es UTF8, se friegan los headers...

Regresando a mi pregunta:

...será que no se puede SIN adicionar un caracter "especial" ?

Si quieren me envian un MP y les envio el FILE_EMPTY.PHP en RAR y de codificación UTF8.

Gracias por su tiempo.
  #12 (permalink)  
Antiguo 20/04/2013, 20:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Acabo de hacer una prueba en Bloc de notas, guardando un archivo "vacío" como UTF8 y pesa 3 bytes.

Lo abrí en Notepad++, cambie la codificación a UTF8 sin BOM y ahora pesa 0 bytes.

Lo volví a abrir tanto en Bloc de notas como en Notepad++ y la codificación es.... sí, ANSI.
__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 20/04/2013, 20:22
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Cita:
Iniciado por Triby Ver Mensaje
Acabo de hacer una prueba en Bloc de notas, guardando un archivo "vacío" como UTF8 y pesa 3 bytes.
Gracia spor tu interes Triby.

... ojalá encontrásemos como crear ESE PRIMERO "TUYO" con PHP ...
  #14 (permalink)  
Antiguo 20/04/2013, 21:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Esos 3 bytes justamente son el BOM.

Como había dicho anteriormente, no se puede identificar si un archivo es UTF-8 si no hay ningún caracter especial a codificar.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 20/04/2013, 22:44
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: ¿cómo CREAR/GUARDAR archivo en codificación UTF8 utilizando PHP?

Cita:
Iniciado por David Ver Mensaje
Como había dicho anteriormente, no se puede identificar si un archivo es UTF-8 si no hay ningún caracter especial a codificar.
Me disculpo por mi NECEDAD.

Resulta que el "ARCHIVO_EN_CUESTION.PHP" es abierto por LECTOR.PHP y luego viene OTRO.PHP y si no lo vé como UTF8 "le mete" el BOM.

Pero finalmente lo abre un tercero que es ELIMINADOR_DE_BOM.PHP (por los HEADERS...) y me friega TODO si no lo tengo como UTF8...

Pero logre detectar todo ese mundo de "ABREDORES" con la ayuda de ustedes y de Triby.

En definitiva...
Tendré que adicionar un comentario con carácter especial, por que BOM no es tolerado por el software...

Muchas gracias.

Etiquetas: Ninguno
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 10:02.