我的字符串中的ascii字符

时间:2011-04-23 23:39:50

标签: jquery

我有一个字符串,我正在尝试发送到我的服务器代码。我在数据中获得了很多这些字符 - 。我需要序列化数据还是什么?我正在使用utf-8编码,但这并没有解决它。我认为我在JQuery方面的数据发生了一些变化。我该如何解决这个问题?

这是我的JQ的样子。

var id = $('#id').val();
var dataString = 'id='+ id;
$.ajax({
  type: "POST",
  url: "http...",
  data: dataString,
  dataType: 'json',
  success: function(data) {
  ...

以下是一个示例字符串: `%ca 32d?

此字符串随后变为�32d?,其中包含UTF-8和Ê32d?,其中包含iso-8859-1


修改 我注意到这个编码问题只发生在字符串以%ca开头时。所有其他人似乎都按预期工作。

1 个答案:

答案 0 :(得分:0)

HTTP协议中的

%xx是一个编码字符,服务器将为您解码,即使您不想这样做。你应该在发送之前对你的字符串进行url编码,或者用%25替换每个%,这是%的编码等价物。这与\ characters的概念相同。如果在字符串中有\ n,则引擎会将其解释为换行符,即使n是单词的一部分,例如。

希望有所帮助。