Foros del Web » Programando para Internet » ASP Clásico »

Una última dudilla

Estas en el tema de Una última dudilla en el foro de ASP Clásico en Foros del Web. El último problema que me parece que me queda por resolver es el siguiente. Necesito que el XML que creo mediante una página ASP sacando ...
  #1 (permalink)  
Antiguo 15/10/2008, 02:31
 
Fecha de Ingreso: mayo-2008
Mensajes: 163
Antigüedad: 16 años, 1 mes
Puntos: 1
Una última dudilla

El último problema que me parece que me queda por resolver es el siguiente. Necesito que el XML que creo mediante una página ASP sacando los datos de una base de datos ACCESS se guarde con codificacion UTF-8 para que pueda funcionar en Flash. He probado todas las soluciones que he encontrado en la Red pero ninguna me funciona. A ver si podéis ayudarme, por favor.

Por si fuera parte del problema, estoy usando "Baby web server" para probar el asp.

Gracias.
  #2 (permalink)  
Antiguo 15/10/2008, 11:35
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Una última dudilla

no te sale tan facil como adicionar

<?xml version="1.0" encoding="UTF-16"?>

a el xml cuando lo creas? ?????????
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 16/10/2008, 04:09
 
Fecha de Ingreso: mayo-2008
Mensajes: 163
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Una última dudilla

Qué va. El archivo sale bien, o sea, abriendo el XML con el bloc de notas se ve bien todos los simbolos, pero en realidad está codificado en ANSI (creo). Al pasarlo a Flash aparecen símbolos raros.
  #4 (permalink)  
Antiguo 17/10/2008, 00:10
 
Fecha de Ingreso: mayo-2008
Mensajes: 163
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Una última dudilla

Os pongo el código de la página por si pudiera servir de algo porque ya no sé que hacer:

Código PHP:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<%
'Conectarse a la base
Dim Conn, ConnStr

ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
ConnStr = ConnStr & Server.MapPath("data/bodegas.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = adModeReadWrite
Conn.ConnectionString = ConnStr
Conn.Open

'Realizar consulta SQL y obtener Recordset DE Areas Geográficas
Dim strSQLprovincias
strSQLprovincias = "SELECT DISTINCT provincias.* FROM provincias INNER JOIN ciudades ON provincias.iDProvincia = ciudades.ProvinciaCiudad"

Set rsprovincias = Server.CreateObject("ADODB.Recordset")
rsprovincias.Open strSQLprovincias, Conn, 1

dim fso, archivo
Set fso = createobject("scripting.filesystemobject")
Set archivo = fso.CreateTextFile(Server.MapPath("xml/bodegas.xml"), True)

archivo.WriteLine("<?xml version='1.0' encoding='UTF-8'?>")
archivo.WriteLine("<bodegas>")

If rsprovincias.RecordCount = 0 Then
    '***no hay provincias con ciudades asociados => xml vacío /***
    archivo.WriteLine("</bodegas>")    
Else
    rsprovincias.MoveFirst
    'Bucle Do While #1 - para cada Provincia
    Do While Not rsprovincias.EOF
    
        'escribimos el nodo XML
        archivo.WriteLine("<provincia pNombre='" & rsprovincias("NombreProvincia") & "' iD='" & rsprovincias("iD") & "'>")
        
        'buscamos las ciudades de la provincia que tengan empresas, sin duplicados: DISTINCT
        strSQLciudades = "SELECT DISTINCT ciudades.* FROM ciudades INNER JOIN empresas ON " & _
        "ciudades.iDCiudad = empresas.CiudadEmpresa WHERE ciudades.ProvinciaCiudad =" & rsprovincias("iDProvincia")

        Set rsciudades = Server.CreateObject("ADODB.Recordset")
        rsciudades.Open strSQLciudades, Conn, 1
        
        If rsciudades.RecordCount <> 0 Then
        
            'Bucle Do While #2 - para cada Ciudad
            Do While Not rsciudades.EOF
            
                'escribimos el nodo XML
                archivo.WriteLine("<ciudad cNombre='" & rsciudades("NombreCiudad") & "' iD='" & rsciudades("iD") & "' X='" & rsciudades("valorX") & "' Y='" & rsciudades("valorY") & "'>")
                
                'buscamos las empresas de la ciudad
                strSQLEmpresa = "SELECT empresas.* FROM empresas WHERE CiudadEmpresa=" & rsciudades("iDCiudad")
                
                Set rsEmpresa = Server.CreateObject("ADODB.Recordset")
                rsEmpresa.Open strSQLEmpresa, Conn, 1
                
                If rsEmpresa.RecordCount <> 0 Then
                
                    'Bucle Do While #3 - datos de cada empresa
                    Do While Not rsEmpresa.EOF
                
                        'escribimos el nodo XML
                        archivo.WriteLine("<empresa eNombre='" & rsEmpresa("NombreEmpresa") & "' iD='" & rsEmpresa("iD") & "'>" & "<nombre>" & rsEmpresa("NombreEmpresa") & "</nombre>" & "<direccion>" & rsEmpresa("DireccionEmpresa") & "</direccion>" & "<telefono>" & rsEmpresa("TelefonoEmpresa") & "</telefono>")
                        
                        'cerramos el nodo de cada Representante
                        archivo.WriteLine("</empresa>")
                        rsEmpresa.MoveNext    
                    Loop
                    'cerramos y destruimos el recordset de Representantes
                    rsEmpresa.Close
                    Set rsEmpresa = Nothing
                End If
            
                'cerramos el nodo de cada País
                archivo.WriteLine("</ciudad>")
                rsciudades.MoveNext
            Loop
            
            'cerramos y destruimos el recordset de Países
            rsciudades.Close
            Set rsciudades = Nothing
        End If
        
        'cerramos el nodo de cada Area
        archivo.WriteLine("</provincia>")
        rsprovincias.MoveNext
    Loop
    
    'cerramos y destruimos el recordset de Areas
    rsprovincias.Close
    Set rsprovincias = Nothing
    
    'cerramos el nodo principal
    archivo.WriteLine("</bodegas>")
    archivo.Close
End If

'cerramos la conexión
Conn.Close
Set Conn = Nothing
%>
  #5 (permalink)  
Antiguo 18/10/2008, 12:40
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Una última dudilla

pero aqui, el problema de los caracteres raros, esta dentro del FLASH, la forma en que este interpreta los caracteres a mostrar, no creen???
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 20/10/2008, 01:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 163
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Una última dudilla

En cierto modo sí. Si visualizo el XML con el Internet Explorer los caracteres se ven correctamente. La cuestión es que mi problema, el de como Flash interpreta los caracteres extraños, que ya lo tuve anteriormente, se soluciona guardando el archivo xml con codificación UTF-8 en vez de ANSI. Esta operación se hace facilmente con el bloc de notas -> Guardar como... -> Codificación UTF-8, pero no consigo que al realizar el archivo con la página asp se guarde igual. Eso es lo que estoy preguntando.

También es cierto que puede haber otra manera de solucionar este problema en Flash así que también miraré por ahí. Gracias por la sugerencia. Aún así, a ver si alguien me explica la forma de hacerlo en ASP (si se puede) porque puede que en Flash no haya otra manera de hacerlo.

Muchas gracias.
  #7 (permalink)  
Antiguo 14/01/2009, 15:45
yz!
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Una última dudilla

Nose si lo habrás logrado ya, pero yo habro un nuevo documento con Dreamweaver CS3. Pego el código y guardo como...

En la parte inferior hay un desplegable Formularo de normas selecciono C y pincho sobre Include cabecera BOM.

Espero te sirva
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 01:01.