我制作了一个表单,用户用阿拉伯语编写他的消息并通过提交按钮提交。该消息被保存在数据库中,我需要创建服务器的其他应用程序上的.txt文件,显示是这样的:PHP fwrite函数以utf-8编码编写txt文件
ØÙ¾ÙٓيسÙÙ¾Ø
我成功地使用了fopen,fwrite函数来创建我的txt文件。
当我打开阿拉伯文字显示正确 在记事本文件,但是当我在Eclipse中打开它,我得到这样的:
ØÙ¾ÙٓيسÙپر0±5Ùزنيز٠... O±Ú©O²ØªÙغندÙييOO±USOÙØ'Ù
好之后,当我在记事本中保存的txt文件为UTF-8编码上述未知的东西变为阿拉伯语。
但我不能那样手动为每条消息。
我在网上搜索了很多,做了这些:
- 我保存在UTF-8
- 我以前
utf8_encode
功能 - 脚本我设置太
ini_set('default_charset', 'UTF-8');
- 这也
<meta http-equiv="Content-Type" content="text/html; charset=utf-8; encoding=utf-8" />
- 我将fwrite中的参数更改为“wb”,其中b是二进制的
对这个问题的任何解决方案都很高兴,我在上周一直在解决这个问题。我知道问题出在编码上,所以我如何使用PHP编写utf-8编码文件?
我跟着链接,并对我的字符串:$ utf8_with_bom = chr(239)。 chr(187)。 chr(191)。$串;谢谢你们,你们是救生员 – googler
好。请注意,UTF-8不需要BOM,有些程序不理解它。在那些BOM中,在文件的开头就会显示为三个有趣的波形。如果你有一些Google员工,你可以找到很多关于这方面的信息。 – deceze