【问题标题】:PHP, convert UTF-8 to ASCII 8-bitPHP,将 UTF-8 转换为 ASCII 8 位
【发布时间】:2012-08-04 07:36:24
【问题描述】:

我正在尝试使用 iconv 函数将字符串从 UTF-8 转换为 ASCII 8 位。该字符串用于导入会计软件(一些基本指令根据 SIE 标准进行解析)。

我现在正在运行的内容:

iconv("UTF-8", "ASCII", $this->_output)

这适用于会计软件 #1,但软件 #2 抱怨编码。标准指定编码为:IBM PC 8-bit extended ASCII (Codepage 437)

我的问题是,PHP 将我的字符串编码成什么版本的 ASCII,如果不是指定的 - 我如何根据标准规范对字符串进行编码?

【问题讨论】:

  • 字符串中有哪些字符?如果只有前 128 个代码点的字符,那么 UTF-8 已经与 ASCII 相同。里面有没有其他字符,那么你就丢弃了很多信息/字符。
  • 这是一个兼容性问题。导入软件将遵循 SIE 标准,因此只接受 ASCII 扩展。

标签: php encoding utf-8 ascii iconv


【解决方案1】:

在软件 #2 上试试这个

iconv("UTF-8", "CP437", $this->_output);

扩展 ASCII 与纯 ASCII 不同。 第一个可能接受 ASCII,但第二个软件需要扩展 ASCII - 代码页 437

看到这个link

【讨论】:

  • 谢谢,软件 #2 不再警告编码。
猜你喜欢
  • 2019-10-31
  • 2012-10-29
  • 1970-01-01
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 2011-06-19
  • 1970-01-01
  • 2017-11-20
相关资源
最近更新 更多