【问题标题】:ASCII Number to Character Error in PHPPHP中的ASCII数字到字符错误
【发布时间】:2013-11-07 01:41:33
【问题描述】:

标签: javascript php jquery codeigniter ascii


【解决方案1】:

这将是一个字符编码问题。

尝试使用

iconv('ISO-8859-1','UTF-8', chr(128));

强制它使用 UTF-8。

如果您从函数或外部脚本返回值,这种情况很常见,因为编码并不总是转移到包含的文件中。

【讨论】:

  • 解释为什么这有效:在 ISO 8859-1 中,小数位为 218 的单字节字符是所需的字符。但是,您实际输出的页面被浏览器解释为 UTF-8,它将该字符编码为两个字节0xC30x9A,即chr(195) . chr(154)。这是iconv 正在为您执行的转换。它与“继承”编码无关,因为chr(128) 开始时不包含编码信息。
  • @IMSoP 是的。我将 ASCII 数字转换为 a-z、A-Z 或 0-9 时没有发现任何问题。
【解决方案2】:

使用它来设置 HTML 文档的字符编码

<meta charset="utf-8"> 


参考

MetaCharsetAttribute


使用 php
<?php $mysqli->set_charset("utf8") ?>

参考

http://www.php.net/manual/en/mysqli.set-charset.php

【讨论】:

  • 一定要放在HTML的head吗?
  • @OkiErieRinaldi 是的,甚至在标题标签之前。你可以在标题标签的顶部说。
  • 我把它放在title 标签之后。我试试
  • @OkiErieRinaldi 将它放在标题标签之前的顶部。
  • 这不起作用的原因是它实际上与所需的相反。仅当浏览器将所需字符解释为以 ISO 8859-1 或某些相关字符集编码且 not 为 UTF-8 时,所需字符才是正确的。所以实际的解决方案是将 HTML 页面中的字符集设置为 that 编码(至于 MySQL,这里完全不相关,没有提到数据库)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-06
  • 1970-01-01
  • 2010-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多