Foros del Web » Programación para mayores de 30 ;) » Java »

Cadena a ascii

Estas en el tema de Cadena a ascii en el foro de Java en Foros del Web. hola amigos: Ahora tengo otro problema, lo que quiero hacer es lo siguiente: Tengo un jsp llamado alta.jsp este contiene una caja de texto y ...
  #1 (permalink)  
Antiguo 28/09/2009, 12:45
 
Fecha de Ingreso: febrero-2009
Mensajes: 142
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Cadena a ascii

hola amigos:

Ahora tengo otro problema, lo que quiero hacer es lo siguiente:

Tengo un jsp llamado alta.jsp este contiene una caja de texto y un boton
al escribir en la caja de texto y dar clic en el boton quiero que me de el codigo ascii que se esciribio en la caja de texto.

Para convertirlo lo tengo en un .java

Este es mi .jsp

<%--
Document : alta
Created on : 12/03/2009, 06:46:51 PM
Author : DOT
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" %>
<%@page import="java.sql.*"%>
<%@page import="com.util.*" %>
<%@page import="java.lang.*" %>
<%@page import="java.net.URLDecoder;"%>


<html>
<meta http-equiv="Content-Type" content="text/html;" charset="utf-8" />
<%@ include file="../Template/header.jsp" %>
<%
try{
Connection conn;
ResultSet r;
Statement stmt;

String strQry,e;

Class.forName(connvars.CLASS_DB).newInstance();
conn = DriverManager.getConnection(connvars.URL_DB, connvars.USER_DB, connvars.PWD_DB);

stmt=conn.createStatement();
acentos a=new acentos();

%>


<form name="frm_monitoreo" action="insertar.jsp" method="post" lang="UTF-8">
<table border="1" cellspacing="10" align="center">

<td> Medio
<input type="TextField" name="txtdesc_tipo" id="txtdesc_tipo" onkeypress="return LettersNumbers(); ">
</td>

<td>
Idioma
<%

strQry = "SELECT * FROM cat_idioma order by id_idioma asc" ;
r = stmt.executeQuery(strQry);

%>

<select name="selidioma" id="selidioma">
<%
while(r.next()){

%>
<option value="<%=r.getString("id_idioma")%>"><%=r.getStri ng("cv_idioma")%></option>
<%}%>
</select>
</td>



</table>
<br>
<center><input type="submit" value="Aceptar" onclick="return valtipomedio(document.frm_monitoreo.txtdesc_tipo.v alue);">
<input type="button" value="Regresar" onclick="regresatipomedio();">
</center>

</form>

</body>
<%
conn.close();
}catch(Exception e){
out.println("Error en alta.jsp" + e.toString());%>
<%@ include file="../Template/fooster.jsp" %>
<%}
%>
</html>


///****** este mi clase

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package com.util;
import java.io.*;
import java.lang.*;
import javax.servlet.*;
import javax.servlet.http.*;


/**
*
* @author Alicia Santiago
*/
public class acentos {
public String g(String g) {//g es lo que contiene la caja de texto
int j =0;
int q=0;
int a=0;
String [] txt=new String['g'];
// String c="&";
String cadena = new String(g); //lo que tiene la caja de texto la guardamos en la variable cadena
for(int r=1;r<=cadena.length();r++){ //creamos un for para contar la cadena de usuario variable de contador r
q = r - 1;
txt[q] =cadena.substring(q,r); //varible q sirve para contar carcter por caracter
System.out.println("CORTADAO=" + txt[q]);
}

for(j=0;j<=cadena.length();j++){
a=cadena.charAt(j);
System.out.println("valor=" + a);


}

if(a==195){
System.out.println("entro a if");
g=cadena.replace("Ã" , "&Aacute;");
return g;
}else if(a==195){
System.out.println("entro a if");
g=cadena.replace("Ã?" , "&Oacute;");
return g;
} else{
System.out.println("falso");
}

return g;
}

}

//*** archivo insertar.jsp

<%--
Document : insertar
Created on : 12/03/2009, 06:48:18 PM
Author : DOT
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*" %>
<%@page import="com.util.*"%>
<%@page import="java.net.URLDecoder;"%>
<html>
<meta http-equiv="Content-Type" content="text/html;" charset=utf-8" />
<%@ include file="../Template/header.jsp" %>
<form name="frminsertar" action="alta.jsp" method="POST" >

<%


System.out.println("caja de texto en tipo medio=" + java.net.URLDecoder.decode( request.getParameter("txtdesc_tipo") ));
try {
Connection conn;
Statement stmt;
ResultSet r;
Class.forName(connvars.CLASS_DB).newInstance();
conn = DriverManager.getConnection(connvars.URL_DB, connvars.USER_DB, connvars.PWD_DB);
stmt = conn.createStatement();
acentos a=new acentos();

String strQry,strQryasociacion;
int int_id_tipo = 1;

String strQry1 = "select max(id_tipomedio)+1 as id_tipomedio from cat_tipomedio";

r = stmt.executeQuery(strQry1);

if(r.next()){
if(r.getInt("id_tipomedio") > 0) {
int_id_tipo = r.getInt("id_tipomedio");
}
}


strQry = "INSERT INTO cat_tipomedio(id_tipomedio,cv_tipomedio)VALUES("+i nt_id_tipo +",'"+a.g(request.getParameter("txtdesc_tipo"))+"' )";
//System.out.println(strQry);
stmt.executeUpdate(strQry);

//inserta en tabla de asociacin
strQryasociacion = "INSERT INTO aso_tipomedio_idioma(id_tipomedio,cv_tipomedio,id_ idioma)VALUES("+int_id_tipo +",'"+a.g(request.getParameter("txtdesc_tipo"))+"' ,"+request.getParameter("selidioma")+")";
System.out.println(strQryasociacion);
stmt.executeUpdate(strQryasociacion);

response.sendRedirect("listadomedio.jsp");
conn.close();
}catch(SQLException s){

System.out.println("Error en insertar.jsp " + s.toString());%>
<%@ include file="../Template/fooster.jsp" %>
<%}catch(Exception e){

System.out.println("Error en insertar.jsp " + e.toString());%>
<%@ include file="../Template/fooster.jsp" %>
<%}
%>


</form>
</body>
</html>


//***

Pero al pasar de del jsp alta.jsp a insertar.jsp me asigna estos caracteres
Ã?, como le puedo hacer para que no me salgan estos caracteres

Me super urge, pero que me ayuden gracias....
  #2 (permalink)  
Antiguo 29/09/2009, 10:18
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Cadena a ascii

//condicion if repetido con else if ...
if(a==195){
System.out.println("entro a if");
g=cadena.replace("Ã" , "&Aacute;");
return g;
}else if(a==195){
System.out.println("entro a if");
g=cadena.replace("Ã?" , "&Oacute;");
return g;
} else{
System.out.println("falso");
}

... Seguro que esa parte del código está bien? Revísalo
  #3 (permalink)  
Antiguo 29/09/2009, 12:10
 
Fecha de Ingreso: febrero-2009
Mensajes: 142
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Cadena a ascii

Cita:
Iniciado por Fuzzylog Ver Mensaje
//condicion if repetido con else if ...
if(a==195){
System.out.println("entro a if");
g=cadena.replace("Ã" , "&Aacute;");
return g;
}else if(a==195){
System.out.println("entro a if");
g=cadena.replace("Ã?" , "&Oacute;");
return g;
} else{
System.out.println("falso");
}

... Seguro que esa parte del código está bien? Revísalo


perdon debe se estar de esta manera


if(a==195){
System.out.println("entro a if");
g=cadena.replace("Á, "&Aacute;");
return g;
}else if(a==129){
System.out.println("entro a if");
g=cadena.replace("Ó" , "&Oacute;");
return g;
} else{
System.out.println("falso");
}
  #4 (permalink)  
Antiguo 30/09/2009, 08:18
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Cadena a ascii

Pues el principal problema que veo en lo que dices es que no te explicas demasiado bien, ¿que es eso de que te asigna esos caracteres? ¿En que variable se asignan? ¿Tienes la certeza absoluta de que con Á, te va a retornar a == 195 ?... Para comprobarlo pon un println antes justo de entrar en el if y coteja el valor que te viene en a. Luego por qué haces un cadena.replace cuando te llega un sólo char?, por que no usas un String cadenaAux = "" y defines luego cadenaAux = cadenaAux + c, siendo c un string al que le asignes el contenido del char utilizado y controlas directamente los casos de las tildes asignando c="&Aacute" por ejemplo. Otra cosa que se me ocurre es que el valor de la variable que se recibe en ingresar.jsp sea capaz de interpretar el &Aacute como Á, y si quieres evitar eso lo que tienes que hacer para controlar eso sería poner "&amp;Aacute;" en vez de "&Aacute"... (Si alguna de estas cosas no es la que querias piensa que igual no te has explicado lo suficientemente bien).
  #5 (permalink)  
Antiguo 05/10/2009, 01:46
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Cadena a ascii

Igual el problema es, como en otro caso que acabo de ver, que java trabaja con unicode en vez de ascii, y tendrás que hacer la equivalencia correspondiente.
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 03:21.