【问题标题】:Thai, Vietnamese language not supported in ExcelExcel 不支持泰语、越南语
【发布时间】:2016-07-07 14:24:55
【问题描述】:

我创建了一个 Excel,其中包含泰语和越南语。我的问题是它将这些字符显示为问号。

我的代码在下面

$worksheet->write($i, 5, iconv("UTF-8", "ISO-8859-1//TRANSLIT", html_entity_decode($text)), $mainquest);

我还尝试了所有其他 ISO 标准。我将 ISO-8859-1 用于法语语言支持。我也尝试了mb_convert_encoding,但没有任何进展。

有什么解决办法吗?

【问题讨论】:

  • 您使用哪个库来生成文件?
  • 我不是 PHP 用户,所以这可能是一个愚蠢的问题,但如果您使用多种语言,我希望您只想对所有内容都使用 UTF-8。为什么要翻译成 ISO-8859-1?
  • @PeterCooperJr。你是对的,但它不适用于创建的 excel。所以对于法语,我使用了 ISO-8859-1 标准,法语的问题就解决了。但是对于泰国人和越南人来说仍然存在问题
  • @ConstantineUA Spreadsheet-WriteExcel 模块用于Excel创建

标签: php excel character-encoding


【解决方案1】:

越南语和泰语的编码字符集与法语不同

越南语 (Windows) - charset=windows-1258

对于泰语 (Windows) -charset=windows-874

泰语也是这样:

$worksheet->write($i, 5, iconv("UTF-8", "windows-874",html_entity_decode($text)), $mainquest);

越南语:

$worksheet->write($i, 5, iconv("UTF-8", "windows-1258",html_entity_decode($text)), $mainquest);

【讨论】:

  • 感谢您的回答。但问题并没有完全解决。现在问号消失了。但翻译不正确。这是原文 Tăng số lượng chiết khấu đối với 1 mã hàng hóa (SKU) nào đó 但翻译后我去这个 Tãng sôì lýõòng chiêìt khâìu ðôìi võìi 1 maÞ hàng hóa (SKU ) nàoðó.
  • 应该是您的字体集没有找到合适的字体进行显示。您可以尝试将越南语的字体设置为 verdana 吗?
  • 但它在 html 页面中工作。它显示创建的excel有问题。所以我认为字体设置没有问题。
  • 您可以将编码更改为 UTF-16 并恢复原状吗?
  • 有了 UTF-16,一切都变成了问号。所以我认为这不是问题
【解决方案2】:

如果切换库是一个选项,我建议使用phpexcel。它是基于 UTF8 的,这意味着您根本不应该在字符编码方面遇到麻烦(如果您的工作流程中的其他所有内容都整齐地设置为 utf-8 - 数据库、文件、网络服务器)。到目前为止,这个库从未遇到过任何问题,同时生成了包含各种特殊字符的电子表格。

【讨论】:

  • 是的也会尝试
【解决方案3】:

你必须使用 UTF-8 编码来解决这个问题

【讨论】:

  • 它是 UTF-8 但问题出在 excel 上。
猜你喜欢
  • 1970-01-01
  • 2020-04-20
  • 2012-03-17
  • 2022-08-05
  • 2013-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多