Olá pessoal tudo bem?
Eu estou com um problema em um módulo que envia mensagens (chat) num sistema web que estou trabalhando.
os usuários enviam a seguinte mensagem por exemplo:
" Hi I'am interested!" essa ' eh convertida de forma errada no spring mvc e vai como o simbolo " Hi I?am interested!" pro banco de dados.
O interessante é que Firefox, Safari, Chrome, Ie desktop e phone android funcionam, mas somente no safari do iphone acontece esse problema.
O que eu descobri até então é que o ' que vem do iphone vem num outro formato ’ (right single code, copiado do teclado do iphone) e que eh diferente ' (aspas simples do nosso teclado).
Aqui seguem as minhas configurações:
ServletSpringMVC.java
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
encodingFilter.setEncoding("UTF-8");
encodingFilter.setForceEncoding(true);
return new Filter[] {encodingFilter, new OpenEntityManagerInViewFilter()};
}
template.tag
<meta charset="utf-8" />
form.jsp
<form:form id="chat-message"
servletRelativeAction="${s:mvcUrl('UC#chatSendMessage').build()}"
commandName="userChatForm" method="POST">
<form:hidden path="idUserReceiver"
value="${userChatForm.idUserReceiver}" />
<form:hidden path="urlRedirection"
value="${userChatForm.urlRedirection}" />
<div class="row">
<div class="col-xs-12 col-md-6 col-lg-4">
<div class="form-group">
<label for="firstName"><s:message
code='my.settings.form.FirstName' /> <span class="text-danger">*</span></label>
<form:input path="firstName" cssErrorClass="form-control error"
cssClass="form-control" value="${chat.userSender.firstName}" />
<form:errors id="firstNameMessageError" path="firstName"
cssClass="text-danger" />
</div>
</div>
<div class="col-xs-12 col-md-6 col-lg-4">
<div class="form-group">
<label for="lastName"><s:message
code='my.settings.form.LastName' /> <span class="text-danger">*</span></label>
<form:input path="lastName" cssErrorClass="form-control error"
cssClass="form-control" value="${chat.userSender.lastName}" />
<b class="tooltip tooltip-bottom-right"><s:message
code="validation.error.firstAndLastName" /></b>
<form:errors id="lastNameMessageError" path="lastName"
cssClass="text-danger" />
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label for="message"><s:message code='chat.message' /> <span
class="text-danger">*</span></label>
<form:textarea maxlength="1500" rows="5" class="form-control"
path="message" id="message" cssErrorClass="form-control error" />
<form:errors id="messageMessageError" path="message"
cssClass="text-danger" />
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<button id="button-save" type="submit"
class="btn btn-primary pull-right">
<s:message code="user.chat.button.submit_message" />
</button>
<a href="${userChatForm.urlRedirection}"
class="btn btn-default pull-right"><s:message
code="form.button.Cancel" /></a> <a class="btn btn-danger pull-right"
type="button" data-toggle="modal" data-target=".bs-example-modal-sm"><s:message
code="btn.chat.block_user" /></a>
</div>
</div>
</form:form>
Espero que alguém possa me dar uma luz!
Obrigado