Creo que es por el codigo de caracteres de tu página. Tienes que tratar de que la página que envia los datos al servidor y el JSP o servlet que los recoja tengan el mismo codigo de caracteres de página.
Si usas servlets pon esto en tus metodos Get o Post:
Código PHP:
request.setCharacterEncoding("UTF8");
Y si usas JPSs pon esto al principio.
Código PHP:
<%@page pageEncoding="UTF-8"%>
Suponiendo que uses el UTF8, claro, si usases otro codigo tendrias que cambiarlo.