【问题标题】:Jquery ajax call and charset windows-1252Jquery ajax 调用和字符集 windows-1252
【发布时间】:2010-06-04 10:40:20
【问题描述】:

亲爱的stackoveflow,我有这个问题。我正在使用旧版本的 mssql (2000),它的所有表都在 windows 1252 中编码(仅此而已)。我可以使用这一行成功地用 php 读写:

<?php header('Content-Type: text/html; charset=windows-1252'); ?>

如果我做一个正常的帖子,一切都会按预期工作,如果我做 ajax 风格,我会在表格中写出乱七八糟的字符。我也试过这个:

contentType: "application/x-www-form-urlencoded;charset=windows-1252",

没有运气。有人可以帮帮我吗?

谢谢

【问题讨论】:

    标签: php jquery encoding windows-1252


    【解决方案1】:

    我认为有可能以某种方式在 Javascript 中更改来自 Ajax 请求的传入数据的字符集,但是 IIRC,它很复杂,并且可能存在跨浏览器问题。

    如果您正在查询 PHP 脚本,最简单的方法是将数据转换为 UTF-8:

    $data = "Höllo, thüs üs windows-1252 encoded data";
    
    $data_utf8 = iconv("windows-1252", "utf-8", $data);
    
    echo $data;
    

    【讨论】:

    • 我可以通过这种方式将 ajax 数据作为 windows-1252 编码的表单数据发送到 db 吗?
    • @xy_ 不,这会将数据转换为 UTF-8,这是 Ajax 传输的默认方法
    • 那么,有没有办法以 windows-1252 编码发送 ajax 数据?
    • @xy_ 可能有,但我从来没有弄清楚它是如何完成的。你需要它做什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 2012-09-08
    • 2019-08-19
    相关资源
    最近更新 更多