我的 PHP Web 应用程序以 ISO-8859-1 编码运行。当我将带有 accept-charset="ISO-8859-1" 的 HTML 表单发布到 PHP 服务器时,这就是我在服务器端收到的内容
一个。原始形式的 ASCII 字符。
湾。可以在 ISO-8859-1 中以其原始形式表示的特殊字符。
C。无法在 ISO-8859-1 中表示的特殊字符转换为 HTML 实体。
所有数据都作为正确的 ISO-8859-1 编码字符接收。我想用 JavaScript 或 jQuery 复制完全相同的行为。我尝试过的所有解决方案最终都将所有特殊字符作为双编码字符发送到 PHP 文件,我必须对它们进行 utf8_decode。
我制定了一个可行的解决方案,如下所示:
一个。将不受支持的特殊字符转换为 HTML 实体。
湾。使用 XMLHttpRequest/ActiveXObject 发送 JavaScript AJAX 发布请求。为此,我必须对数据进行“编码 URIComponent()”。
C。在服务器上接收发布数据并使用“utf8_decode()”,因为“encodeURIComponent()”将特殊字符编码为 UTF-8。
我想要一个 JavaScript 解决方案,它可以确保我从服务器端的 POST 接收到正确的 ISO-8859-1 编码数据,这样我就不必执行“utf8_decode()”。换句话说,我希望 JavaScript 解决方案能够准确地复制带有 accept-charset="ISO-8859-1" 的表单行为。
谢谢