User Tag List

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 16

Tema: Ayuda con Java! Problema con acentos al generar archivo HTML

  1. #1

    Fecha de ingreso
    Jul 2004
    Ubicación
    Algún lugar al sur de Londres
    Mensajes
    25,977
    Mencionado
    39 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    709
    Agradecer Thanks Received 
    736
    Thanked in
    Agradecido 385 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    30

    Ayuda con Java! Problema con acentos al generar archivo HTML

    Estoy haciendo un programa que en cierto momento general un archivo html que es visualizado por el navegador web por defecto, pero no soy capaz de hacer que se vean las letras acentuadas. El código de la página empieza así:

    Código:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="es-ES">
    Y en Java utilizo este código para crear el archivo html:

    Código:
    try{
                fw = new FileWriter(ruta);
                pw = new PrintWriter(fw);
                pw.print(codHTML); 
                this.d.open(new File(ruta));
            }catch (Exception e){
                
            }finally{
               try {
               //cerramos el fichero
               if(fw != null) fw.close();
               }catch (Exception e2){}
            }
    También he utilizado esta otra manera, pero el resultado es el mismo:

    Código:
    try{
                out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(ruta), "utf-8"));
                pw.write(codHTML_cabecera);
                this.d.open(new File(ruta));
            }catch (Exception e){
                
            }finally{
               try {
               //cerramos el fichero
               if(out != null) out.close();
               }catch (Exception e2){}
            }
    La gracia es si abro el archivo generado con el bloc de notas y guardo el contenido tal cual está, al abrirlo se ve bien! xD

    Alguien sabe como solucionarlo?
    Última edición por neostalker; 23/11/2011 a las 23:12

  2. #2

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    227 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Cómo es ese HTML? Supongo que estás usando los &aacute y demás no?

  3. #3

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,887
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    163
    Thanked in
    Agradecido 112 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ^MiSaTo^ Ver mensaje
    Cómo es ese HTML? Supongo que estás usando los &aacute y demás no?
    Si usa utf-8 no deberia de ser necesario, es raro, tengo aqui archivos con ese formato de codificacio nde caracteres y si me muestran los caracteres :S

  4. #4

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    227 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por otto_xd Ver mensaje
    Si usa utf-8 no deberia de ser necesario, es raro, tengo aqui archivos con ese formato de codificacio nde caracteres y si me muestran los caracteres :S
    Yo SIEMPRE uso &aacute y demás. Da igual el encoding, si no lo usas al final a veces hace cosas raras.

  5. #5
    Yeti Sports 2 Champion!
    Fecha de ingreso
    Jun 2006
    Ubicación
    Texas, España
    Mensajes
    14,539
    Mencionado
    87 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    833
    Agradecer Thanks Received 
    292
    Thanked in
    Agradecido 216 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1096
    ^ Este es un problema que se produjo también en una de mis paginas hace tiempo. Se pasaba el encoding por el forro... polar xD

  6. #6

    Fecha de ingreso
    Jul 2004
    Ubicación
    Algún lugar al sur de Londres
    Mensajes
    25,977
    Mencionado
    39 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    709
    Agradecer Thanks Received 
    736
    Thanked in
    Agradecido 385 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    30
    Cita Iniciado por ^MiSaTo^ Ver mensaje
    Yo SIEMPRE uso &aacute y demás. Da igual el encoding, si no lo usas al final a veces hace cosas raras.
    No tengo ni idea de que es &aacute, mis conocimientos de html son limitados, pero buscaré algún tutorial o algo a ver si aprendo a usarlo

  7. #7
    Yeti Sports 2 Champion!
    Fecha de ingreso
    Jun 2006
    Ubicación
    Texas, España
    Mensajes
    14,539
    Mencionado
    87 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    833
    Agradecer Thanks Received 
    292
    Thanked in
    Agradecido 216 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1096
    &aacute; es interpretado como si fuese un comando. Simplemente lo pones donde iba la 'á'.

    Cita Iniciado por Sección de código cutre
    $MSG['682'] = "Repetir pasos 1. y 2. para cada foto. Cuando termines haz clic en el bot&oacute;n <i>Crear Galer&iacute;a</i> que hay a continuaci&oacute;n. <br> Despues de que subas la primera imagen o selecciones una de las imagenes como la imagen predeterminada, podr&aacute;s crear una imagen en miniatura seleccionando una parte la misma. Dicha imagen es la que aparecer&aacute; en los resultados de b&uacute;squeda.";
    Última edición por X-Code; 23/11/2011 a las 23:52

  8. #8

    Fecha de ingreso
    Jul 2004
    Ubicación
    Algún lugar al sur de Londres
    Mensajes
    25,977
    Mencionado
    39 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    709
    Agradecer Thanks Received 
    736
    Thanked in
    Agradecido 385 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    30
    Cita Iniciado por X-Code Ver mensaje
    &aacute; es interpretado como si fuese un comando. Simplemente lo pones donde iba la 'á'.
    Ah, o sea, que para cada vocal hay que precederla de '&' y acompañarla de 'acute;'.

    Muchas gracias a todos!
    < - >
    Ajá, aquí veo las diversas equivalencias que hay! http://www.psicobyte.com/html/curso/html6.html
    Última edición por neostalker; 24/11/2011 a las 00:03 Razón: Edición automática anti doble-post.

  9. #9

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,887
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    163
    Thanked in
    Agradecido 112 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ^MiSaTo^ Ver mensaje
    Yo SIEMPRE uso &aacute y demás. Da igual el encoding, si no lo usas al final a veces hace cosas raras.
    Yo nunca he tenido problemas, pero no vale con indicar que la codificacion del xml es utf8, sino que el fichero tb tiene que ir en dicho formato.

    De esa forma solucionamos algun que otro problema, y asi no teniamos que tener la tabla ascii delante para meter mil caracteres raros que necesitabamos y fallaban.

    Por otro lado mi experiencia es mucho mas limitada que la tuya, y fue una solucion rapida a unos problemas puntuales xD

  10. #10

    Fecha de ingreso
    Nov 2005
    Ubicación
    Madrid
    Mensajes
    4,182
    Mencionado
    16 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    56
    Agradecer Thanks Received 
    255
    Thanked in
    Agradecido 155 veces en [ARG:2 UNDEFINED] posts
    Yo soy más de tirar por utf-8 también la verdad XD

    Prueba (además de todo lo que tienes ya) a meter la etiqueta:

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    Dentro del <head> =))

  11. #11

    Fecha de ingreso
    Jul 2004
    Ubicación
    Algún lugar al sur de Londres
    Mensajes
    25,977
    Mencionado
    39 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    709
    Agradecer Thanks Received 
    736
    Thanked in
    Agradecido 385 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    30
    Cita Iniciado por Estopero Ver mensaje
    Yo soy más de tirar por utf-8 también la verdad XD

    Prueba (además de todo lo que tienes ya) a meter la etiqueta:



    Dentro del <head> =))
    Mucho más sencillo así! Me funciona perfectamente!

    Os quiero, famigos!!!

  12. #12
    Yeti Sports 2 Champion!
    Fecha de ingreso
    Jun 2006
    Ubicación
    Texas, España
    Mensajes
    14,539
    Mencionado
    87 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    833
    Agradecer Thanks Received 
    292
    Thanked in
    Agradecido 216 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1096
    La cosa es que depende mucho del script en si, los hay que se lo pasan por el forro, pero si el script es tuyo y lo has hecho bien, deberían de funcionar ambos métodos

  13. #13

    Fecha de ingreso
    Jul 2004
    Ubicación
    Algún lugar al sur de Londres
    Mensajes
    25,977
    Mencionado
    39 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    709
    Agradecer Thanks Received 
    736
    Thanked in
    Agradecido 385 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    30
    Cita Iniciado por X-Code Ver mensaje
    La cosa es que depende mucho del script en si, los hay que se lo pasan por el forro, pero si el script es tuyo y lo has hecho bien, deberían de funcionar ambos métodos
    Funcionan ambos, había implementado primero el de los &aacute;

  14. #14

    Fecha de ingreso
    Jun 2006
    Mensajes
    4,556
    Mencionado
    41 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,259
    Agradecer Thanks Received 
    698
    Thanked in
    Agradecido 425 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Cita Iniciado por neostalker Ver mensaje
    Ah, o sea, que para cada vocal hay que precederla de '&' y acompañarla de 'acute;'.

    Muchas gracias a todos!
    < - >
    Ajá, aquí veo las diversas equivalencias que hay! http://www.psicobyte.com/html/curso/html6.html
    Bueno, eso para las letras acentuadas. A eso se les llama "entidades html" Luego hay más, como por ejemplo "$ccedil;" para la "ce trencada" del catalán o el francés, "&ntilde;" para la eñe, "&copy;" para el signo del copyright, etc, etc.

    Tienes un montonazo, escribes en google "html entities" y tienes páginas a patadas con explicaciones sobre ellas y la lista completa.

    Por cierto, para hacer lo que pretendes (si es que lo he entendido bien), sin salir de java, ¿no seria mejor hacer un servlet e ir printando las lineas del documento en el objeto httpResponse, el cual lo enviará todo al navegador? Siento si no me he explicado del todo bien, pero es que hace la tira que no programo servlets, pero sé que había que coger el httpResponse, extraer su writer, y ahí printar todo lo que queramos que vaya al navegador.

    Aqui he encontrado un pequeño ejemplo, que me explico de pena a estas horas:

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;

    public class SomeServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    // Use "request" to read incoming HTTP headers (e.g. cookies)
    // and HTML form data (e.g. data the user entered and submitted)

    // Use "response" to specify the HTTP response line and headers
    // (e.g. specifying the content type, setting cookies).

    PrintWriter out = response.getWriter();
    // Use "out" to send content to browser

    }

    }
    Última edición por akualung; 24/11/2011 a las 03:24

  15. #15

    Fecha de ingreso
    Jul 2004
    Ubicación
    Algún lugar al sur de Londres
    Mensajes
    25,977
    Mencionado
    39 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    709
    Agradecer Thanks Received 
    736
    Thanked in
    Agradecido 385 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    30
    Pues me ha pasado una cosa graciosa!

    Resulta, que el método de Estopero solo me funciona cuando utilizo el programa desde ejecutando el programa desde Netbeans, pero si compilo y ejecuto la versión convencional, al visualizar el la página me aparece el típico rombito con un signo de interrogación dentro donde deberían estar las vocales con acentos. Por suerte, el método de las html entities sí funciona bien.

    Akualung, seguramente hacerlo con un servlet sea lo más limpio, por aquello de que no genera un html físico. Tengo que echarle un ojo con detenimiento, porque no estoy muy puesto en servlets. Mañana lo veo

Página 1 de 2 12 ÚltimoÚltimo

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •