从iPad发布到ASP时,编码有所不同

时间:2013-03-27 09:21:49

标签: ios encoding asp-classic

我制作了一个将数据发布到ASP脚本的iPad应用程序。然后将数据存储在MySQL数据库中的UTF-8中。今天,其中一位用户发布了导致错误的数据:

发布的数据:

Jeanette Sjösvärd, Uttke Renata, Håkan Giljam

保存在log和db中的数据:

Jeanette Sjösvärd, Uttke Renata, Håkan Giljam

从数据库中读取数据时,文本中充满了“åö”(应该是“åäö”)

日志还以百分比格式保存原始发布数据到达服务器的方式:

Jeanette%20Sj%C3%B6sv%C3%A4rd%2C%20Uttke%20Renata

当从ASP页面再次发布所有数据(复制并粘贴该百分比编码的块)时,数据将被保存而不会出现任何编码问题。

事实

  • 完整发布的数据约为18kB
  • 所有ASP页面顶部都包含<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

问题/想法

  • 为什么ASP脚本会以不同的方式读取数据,具体取决于发件人?
  • 为什么它只发生在100次中的1次?
  • 是否有/应该与POST请求一起发送的编码信息?
  • 可能依赖于数据中的某个特殊字符吗?
  • iPad是否使用除UTF-8之外的任何其他编码作为标准? (iPad设置为瑞典语)

1 个答案:

答案 0 :(得分:0)

修改

找到此主题:What determines the encoding of then data you receive from an HTTP POST?

将查看post请求的编码标头。但是我如何检测发布的数据是否不是UTF-8并且在这种情况下转换它?

此帖中的后续行动:https://stackoverflow.com/questions/15656710/how-to-detect-post-encoding-and-convert-to-utf-8-in-asp