En el campo de texto, si copio desde la palabra, se inserta el carácter no deseado. Al publicar parámetros desde la página jsp, sigue estando bien. Pero al obtener el parámetro en java se convierte en basura. He utilizado el siguiente código para eliminar basura antes de la inserción. Estoy usando la base de datos mysql. (JBOSS 5.1 servidor GA)Eliminación de elementos no deseados en java
String outputEncoding = "UTF-8";
Charset charsetOutput = Charset.forName(outputEncoding);
CharsetEncoder encoder = charsetOutput.newEncoder();
byte[] bufferToConvert = userText.getBytes();
CharsetDecoder decoder = (CharsetDecoder) charsetOutput.newDecoder();
try {
CharBuffer cbuf = decoder.decode(ByteBuffer.wrap(bufferToConvert));
ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(cbuf));
userText = decoder.decode(bbuf).toString();
} catch (CharacterCodingException e) {
e.printStackTrace();
}
pero todavía estoy recibiendo carácter no deseado para comilla simple ('') y comillas dobles (""). Necesito la cadena en UTF-8. ¿Alguien puede sugerir dónde puedo estar equivocado?
Ejemplo: Entrada - "esgh". salida - â ?? esghâ ??: Salida deseada - "esgh".
¿Puede dar algunos ejemplos de entrada y salida deseada? – Keppil
He dado un ejemplo. pero sucede para una comilla simple también. –
¿No podría filtrar por valores ASCII? Simplemente tome todo lo que sea mayor que 31 y menor que 128. –