我制作了一个表格,用户用阿拉伯语写下他的信息并通过提交按钮提交。消息保存在数据库中,我需要在服务器上为其他应用程序创建一个.txt文件,显示如下内容:
دپÙٓيسÙÙ¾Ø
我成功使用了fopen,fwrite函数来创建我的txt文件。
当我在记事本中打开文件时,阿拉伯文字显示正确 但是当我在日食中打开它时,我会得到类似的东西:
دپÙٓيسÙپررÙزنيزÙ...رکزتÙغندÙييبريدÙØ'Ù
之后当我将txt文件保存在记事本中时,utf-8编码将上述未知内容更改为阿拉伯语。
但我不能手动为每条消息做这件事。
我在互联网上搜索了很多并做了这些:
utf8_encode
函数ini_set('default_charset', 'UTF-8');
<meta http-equiv="Content-Type" content="text/html; charset=utf-8; encoding=utf-8" />
对这个问题的任何解决方案都很高兴我在上周继续研究这个问题。我知道问题在于编码,所以如何使用PHP编写utf-8编码文件?
答案 0 :(得分:3)
如果文本在一个程序中显示正常而在另一个程序中没有显示,这意味着一个程序正确解释文件而另一个程序没有。很有可能当您再次保存时,Notepad会在文件上设置UTF-8 BOM,因此Eclipse现在会自动识别出它是UTF-8编码的。如果没有这个,Eclipse会假定使用latin-1或其他编码作为默认编码。
两个选项:
BOM可能有助于使程序识别UTF-8,但也可能导致其他不期望或不需要BOM的程序出现问题。是否使用BOM取决于您的预期用途和目标受众。
答案 1 :(得分:0)
在eclipse中,您需要在菜单中设置编码编辑&gt; 设置编码...