Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Escribir cirilico en un xml. (https://www.clubdelphi.com/foros/showthread.php?t=38364)

cirilungol 12-12-2006 18:41:44

Escribir cirilico en un xml.
 
Buenas a tod@s.

Tengo un pequeño problema:
Estoy intentando crear un fichero xml con datos de una BD, y resulta que está controlado por idiomas.

Que es lo que me sucede?. Pues que no puedo guardar el cirilico talcual se ve en el html en el xml, osea esto:
Código:

цувас pruéba  рршщ
No lo puedo meter talcual en el xml.

he probado html_entity_decode, htmlentities, get_html_translation_table(HTML_ENTITIES). Y si en pantalla es muuu bonito pero cuando lo quiero meter en un cochino fichero (perdonar por lo de cochino), no se inserta correctamente, solo me da caracteres como los siguientes
Código PHP:

&# 1094;&# 1091;в&# 1072;&# 1089; pruéba  &# 1088;&# 1088;&# 1096;& #1097; 

Help please. LLevo con esto una semana entera.

gracias.

Ñuño Martínez 12-12-2006 19:24:40

Esa es casi la forma correcta de poner código UNICODE en un archivo XML. Lo único que veo mal es el espacio que hay después del carácter sostenido (#), que no debería estar.

[edit] He intentado ponerlo y no me ha dejado (lo cambia por caracteres cirílicos). ¿por eso pusiste los espacios? Si es así, entonces está bien.[/edit]

Si no se muestra bien en tu aplicación, deberías revisar la codificación del fichero (primeras líneas del XML) o del sistema operativo.

cirilungol 12-12-2006 19:35:30

son sin espacios
 
Lo he puesto todo en espacios para que no me lo tradujera.

De todas maneras es algo del php creo . porque lo he compilado y me da otros caracteres.


Tendré que inventarme algo.

cirilungol 12-12-2006 20:16:20

De todas maneras.
 
No se si habeis hecho la prueba, pero hacerla. Por si es realmente el PHP lo que me esta dando el problema o de lo contrario no sé como solucionarlo.


Código PHP:


<?
$l
="&# 1094;&# 1091;в&# 1072;&# 1089; pru&eacute;ba  &# 1088;&# 1088;&# 1096;& #1097;";
//los espacios hay que quitarselos
 
$trans get_html_translation_table(HTML_ENTITIES);
 
$trans array_flip($trans);
 
$original strtr($l$trans);
 
$fpile fopen("pruebacochina.txt","a+");
 
fwrite($fpile,$original);
 
fclose($fpile);
?>

pruebacochina.txt tiene que poder verse con caracteres en Ruso
ya me contareis, estoy que me tiro de las barbas.


La franja horaria es GMT +2. Ahora son las 04:46:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi