php - 如何使用 PHP 将 "Western (Mac OS Roman)"格式的文本转换为 UTF-8?

标签 php macos utf-8 mb-convert-encoding

我有 Excel for Mac 2011 VBA 在 Western (Mac OS Roman) 中导出的文件,如下所示:

alt text

我还没有成功 getting Excel for Mac VBA to export directly to UTF-8所以我想在将它们保存到 MySQL 之前用 PHP 转换这些文件,我正在使用这个命令:

$dataset[$k] = mb_convert_encoding($line, 'ASCII', 'UTF-8'); //not correctly converted
$dataset[$k] = mb_convert_encoding($line, 'ISO-8859-8', 'UTF-8'); //not correctly converted
$dataset[$k] = mb_convert_encoding($line, 'macintosh', 'UTF-8'); //unrecognized name
$dataset[$k] = mb_convert_encoding($line, 'Windows-1251', 'UTF-8'); //changes "schön" to "schљn"
$dataset[$k] = mb_convert_encoding($line, 'Windows-1252', 'UTF-8'); //changes "schön" to "schšn"

我找到了这个 list of valid encoding formats从 2008 年开始,但它们似乎都不代表 Western (Mac OS Roman)

* UCS-4
* UCS-4BE
* UCS-4LE
* UCS-2
* UCS-2BE
* UCS-2LE
* UTF-32
* UTF-32BE
* UTF-32LE
* UTF-16
* UTF-16BE
* UTF-16LE
* UTF-7
* UTF7-IMAP
* UTF-8
* ASCII
* EUC-JP
* SJIS
* eucJP-win
* SJIS-win
* ISO-2022-JP
* JIS
* ISO-8859-1
* ISO-8859-2
* ISO-8859-3
* ISO-8859-4
* ISO-8859-5
* ISO-8859-6
* ISO-8859-7
* ISO-8859-8
* ISO-8859-9
* ISO-8859-10
* ISO-8859-13
* ISO-8859-14
* ISO-8859-15
* byte2be
* byte2le
* byte4be
* byte4le
* BASE64
* HTML-ENTITIES
* 7bit
* 8bit
* EUC-CN
* CP936
* HZ
* EUC-TW
* CP950
* BIG-5
* EUC-KR
* UHC (CP949)
* ISO-2022-KR
* Windows-1251 (CP1251)
* Windows-1252 (CP1252)
* CP866 (IBM866)
* KOI8-R

将“Western (Mac OS Roman)”转换为 UTF-8 需要使用什么格式?

最佳答案

mb 函数无法处理“macintosh”,这是 IANA 为 Mac Roman 定义的名称。你必须使用 iconv

$line = iconv('macintosh', 'UTF-8', $line);

关于php - 如何使用 PHP 将 "Western (Mac OS Roman)"格式的文本转换为 UTF-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4722864/

相关文章:

php - javascript post 到 .php 文件一台服务器不起作用 - 在浏览器中手动输入 URL 到相同的 .php 可以工作

php - jQuery $.post 不返回 JSON 数据

php - 我的自定义样式表入队功能不起作用

python - 由于 EnvironmentError : [Errno 13] 无法安装软件包

c++ - 从Finder打开文件时如何获取文件路径

python - 安装 opencv python mac osx 10.11?

c# - 使用UTF-8格式解析XDocument并作为UTF-8错误保存到MySQL

python - 使用 python suds 从 Web 服务响应时出现 Unicode 错误

php - 使用 PHP 和 MySQL 生成不带斜杠的 JSON

drupal - 使用忽略某些 unicode 字符的 PDFTK(或 php/javabridge)填写 PDF 表单