脚本宝典收集整理的这篇文章主要介绍了PHPWord:创建阿拉伯语从右到左的单词文档,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
数据以html格式存储和预览,但是在使用阿拉伯语变量创建文档时,Word中的输出看起来像ØØØÙدÙبارÙاÙÙرÙ.
$PHPWord = new PHPWord(); $document = $PHPWord->loadTemplate('templates/.../wtvr.docx'); $document->setValue('name',$name); $document->setValue('overall_PErcent_100',$overall_percent_100); $document->save('Individual Report - ' . $name . '.docx');
反正有没有解决这个问题?
在第150行,共享/ String.PHP:
更换
public static function IsUTF8($value = '') { return utf8_encode(utf8_decode($value)) === $value; }
同
public static function IsUTF8($value = '') { return mb_check_encoding($value,"UTF-8"); }
然后,如果你这样做
$grep -rn "utf8_encode" .
在项目根目录中,您将找到使用utf8_encode的所有行.你会看到像这样的行
$linkSrc = utf8_encode($linkSrc); //$linkSrc = $linkSrc; $givenText = utf8_encode($text); //$givenText = $text;
为什么utf8_encode / utf8_decode错了?首先,因为那不是他们所做的.他们做的是From_iso88591_to_utf8和from_utf8_to_iso88591.其次,ISO-8859-1几乎从未使用过,通常当有人声称他们使用它时,他们实际上使用的是Windows-1252. ISO-8859-1是一个非常小的字符集,甚至不能编码€,更不用说阿拉伯字母了.
您可以通过执行以下操作快速查看库:
$grep -rn "utf8_\(en\|de\)code" .
如果你得到匹配,你应该继续前进并寻找其他的库.这些函数每次都只是做错了,即使有人需要一些边缘情况来使用这些函数,当你真正需要ISO-8859-1时,最好明确它,因为你通常不会这样做.
以上是脚本宝典为你收集整理的PHPWord:创建阿拉伯语从右到左的单词文档全部内容,希望文章能够帮你解决PHPWord:创建阿拉伯语从右到左的单词文档所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。