Encoding Play Framework 2.1的字符集编码错误
我有一个web服务,它接收ISO-8859-1编码的参数 但当我试图从请求中读取时,我得到以下字符: ����� 我尝试了所有这些方法,但没有一种方法可以将给定字符串转换为期望的字符串(áêíóú): 以下是我的行动:Encoding Play Framework 2.1的字符集编码错误,encoding,character-encoding,playframework,playframework-2.0,Encoding,Character Encoding,Playframework,Playframework 2.0,我有一个web服务,它接收ISO-8859-1编码的参数 但当我试图从请求中读取时,我得到以下字符: ����� 我尝试了所有这些方法,但没有一种方法可以将给定字符串转换为期望的字符串(áêíóú): 以下是我的行动: val inboundMessageForm = Form( mapping( "html" -> text)(InboundMessage.apply)(InboundMessage.unapply)) def forward = Actio
val inboundMessageForm = Form(
mapping(
"html" -> text)(InboundMessage.apply)(InboundMessage.unapply))
def forward = Action(parse.multipartFormData) { implicit request =>
val inboundMessage = inboundMessageForm.bindFromRequest.get
// inboundMessage.html => �����
}
我能做些什么来解决这个问题呢?如果您运行的是windows,默认编码(至少在美国,不确定世界其他地区)实际上是“windows-1252”,而不是“ISO-8859-1”。您也可以尝试使用“UTF-16”,以防这些字符不包含在“UTF-8”编码中(windows以外的大多数东西都使用这种编码)。如果您正在运行windows,默认编码(至少在美国,不确定世界其他地区)实际上是“windows-1252”,而不是“ISO-8859-1”。您也可以尝试使用“UTF-16”,以防这些字符不包含在“UTF-8”编码中(windows以外的大多数软件都使用这种编码)。以下是此问题的答案:
以下是这个问题的答案:
inboundmessage library或任何在将其发送给您之前已将其解码为UTF-8的文件。这是有损的,所以在这一点上你不能做任何事情-你需要指示它在ISO-8859-1中解码或在UTF-8中编码请求。我建议将其编码为UTF-8,毕竟是2013年。inboundmessage库或任何东西在将其发送给您之前已将其解码为UTF-8。这是有损的,所以在这一点上你不能做任何事情-你需要指示它在ISO-8859-1中解码或在UTF-8中编码请求。我建议使用UTF-8编码,毕竟现在是2013年。
val inboundMessageForm = Form(
mapping(
"html" -> text)(InboundMessage.apply)(InboundMessage.unapply))
def forward = Action(parse.multipartFormData) { implicit request =>
val inboundMessage = inboundMessageForm.bindFromRequest.get
// inboundMessage.html => �����
}