【问题标题】:Encoding with JQuery AJAX and PHP使用 JQuery AJAX 和 PHP 进行编码
【发布时间】:2013-07-13 18:56:59
【问题描述】:

我有一个 html 页面编码在:

<meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-2">

页面的每个内容都使用这个字符集,一切看起来都很好。我需要向 PHP 服务器发送一个 Ajax 调用,但是当我发送一个字符 á 并返回相同的值时,它显示 ĂĄ 所以不知何故它改变了 - 我认为 - 到 UTF-8 ......我需要将此值保存到 ORACLE DB 中,并且在数据库中它也保存为 ĂĄ...

PHP 代码(ajax.php):

<?php 
$p1=$_POST["p1"];
echo "p1:$p1\n";
?> 

此 AJAX 设置仍然无法正常工作:

 $.ajax({
    type:'POST',
    url:'ajax.php',
    contentType: "application/x-www-form-urlencoded;charset=ISO-8859-2",
    data:{p1:p1,
          p2:p2, 
          }})   
   .always(function() { alert('complete'); });  
}

因为如图(下)所示,ajax 调用仍然以 UTF-8 字符编码发送 感谢您的回答,请不要要求我将字符编码更改为 UTF-8,因为这是一项要求:(

我的另一个问题是为什么什么都不做 contentType: "application/x-www-form-urlencoded;charset=ISO-8859-2",... 这简直是要了我的命。

【问题讨论】:

  • 为什么不对所有页面使用 utf-8?
  • 来吧:) 你在开玩笑吗?根据我的要求:“请不要要求我将我的字符编码更改为 UTF-8”简短回答:因为我不允许将编码更改为 UTF-8……这是一个大系统,每个内容都写在ISO-8859-2,当然我可以制作一个脚本来更改 html 页面内容(静态文本等),但这是另一个故事(不允许)...
  • &lt;content&gt; 标签是什么意思,&lt;meta&gt;
  • 是的,我更正了,谢谢

标签: php jquery html ajax encoding


【解决方案1】:

看来我可以使用:

utf8_encode() php函数:Encodes an ISO-8859-1 string to UTF-8

此函数将字符串数据编码为 UTF-8,并返回 编码版本。 UTF-8 是 Unicode 使用的标准机制 将宽字符值编码为字节流。 UTF-8 是 对纯 ASCII 字符透明,是自同步的(意味着 程序可以找出字节流中的位置 字符开始)并且可以与普通字符串比较一起使用 排序等功能。

唯一的问题是:我的编码是 ISO-8859-2 而不是 ISO-8859-1,例如

ISO-8859-1 中的法语字母 è,与 ISO-8859-2 中的捷克/斯洛伐克字母 č

difference between iso-8859 and iso-8859-1, (鉴于另一个答案)

【讨论】:

    【解决方案2】:

    完美的解决方案是这样的:

    iconv — Convert string to requested character encoding

    字符串 iconv ( 字符串 $in_charset , 字符串 $out_charset , 字符串 $str )

    对来自 in_charsetstring str 执行字符集 conversionout_charset

    在这种特殊情况下:

     $encoded_text= iconv("ISO-8859-2", "UTF-8",  $text)
    

    我真的不知道为什么,但正确的格式是:

     $encoded_text= iconv("UTF-8","ISO-8859-2",   $text);
    

    【讨论】:

      猜你喜欢
      • 2015-03-04
      • 2013-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多