【问题标题】:php fwrite doesn't doesn't create filenames as they are imported(ÅÄÖ becomes ääÃ)php fwrite 不会在导入文件名时创建文件名(ÅÄÖ 变为 ääÃ)
【发布时间】:2015-06-16 23:06:45
【问题描述】:

我正在使用表单来发送主题和消息。 然后,我使用 $subject = str_replace(" ", "_", $subject);

从主题中删除所有空格

然后我使用$file = fopen($subject, wb) 创建一个文件 文件名不支持字符 Å Ä 和 Ö。 相反,它们变成了 ä ä 和 ö

当我 echo $subject; 时,它会正常显示。

我宁愿不必更换它们,因为我正在为讲瑞典语的人制作一个网站。

【问题讨论】:

  • 您可以使用瑞典字符创建您的网站,为什么您需要带有瑞典名称的内部文件?您网站的访问者不需要查看这些文件,因此,请勿使用瑞典字符作为文件名。
  • 嘿。我需要它的原因是因为我的同学会为其他同学创建“指南”。他们使用表单执行此操作,然后将其另存为“subject.php”gif:gfycat.com/SpiritedJealousGordonsetter
  • 我猜那些“指南”存储在具有唯一 ID 的数据库中。使用 ID 作为文件名。您将打开带有 ID 的“指南”,并在屏幕上显示它们的原始瑞典名称。除了你,没有人会知道。

标签: php utf-8 fopen fwrite file-handling


【解决方案1】:

确保您的 PHP 文件已正确编码。我认为它应该是 UTF8,但不确定瑞典语。

【讨论】:

  • 我相信我有。我在每一页上都使用<meta http-equiv="content-type" content="text/html; charset=utf-8"></meta><meta charset="utf-8" />
  • 这会将 HTML 显示输出为 utf-8,但不会输出其自身文件的编码。例如,在 Notepad++ 中,您可以检查编码是否正确。如果还是不行,试试这个:stackoverflow.com/a/4839438/1145134
猜你喜欢
  • 2021-03-26
  • 2012-02-18
  • 2013-06-15
  • 2011-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多