使用jquery corrupts发布和返回数据åäö

时间:2011-08-24 18:48:35

标签: php javascript jquery html encoding

这是一个网上有很多信息的问题。不过,我还没有解决它。

我在网页上有一个动态加载的表单。我使用jquery $ .post提交它。我的页面适用于瑞典人,因此需要与åäö合作。

将数据发布到服务器时,它会将数据加载回新表中。退回的åäö已损坏。示例åååäääööö=åååäääööööÃ

服务器端是php。我将所有返回内容的页面编码到浏览器中,如下所示:

<?php header('Content-type: text/html; charset=ISO-8859-1'); ?>

我在服务器端尝试过utf8_encode和utf8_decode。实际上没有区别。

我试过这个:encodeURIComponent($(this).serialize())其中$(this)是要提交的表单。当然,这不起作用,我不知道如何编码像$(this)这样的对象。

我认为这是许多人所做的事情,但它似乎不是一个标准的解决方案。

因此,我需要帮助的是如何使用javascript / jquery / etc发布表单。并在服务器端处理它,返回它,并且它们看起来应该如此。如果服务器收到utf8,那就完全没问题了。原则应该只使用UTF8然后问题解决了吗?似乎应该有另一种解决方案。

1 个答案:

答案 0 :(得分:4)

AJAX使用UTF-8编码。如果您的数据不是UTF-8格式(例如Windows 1251或ISO-8859-1),那么您将遇到麻烦。

在标头中指定不同的编码方案不会将数据转换为UTF-8。它只是告诉客户期待什么。

我的座右铭: UTF-8端到端或死!