当前位置: 首页 > 知识库问答 >
问题:

希伯来语中的php mkdir()创建gibrish文件夹

严扬
2023-03-14

我正在尝试用英文的php制作一个目录,它正在工作。但当我尝试用希伯来语时,它会用吉卜里语创建文件夹,如下所示:“׳•׳•׳•׳”;“|׳׳-׳§׳•׳׳”

我怎样才能修好它?谢谢

共有3个答案

杨赞
2023-03-14

基本上你不能,除非你的操作系统的编码系统支持这些字符。希伯来语也必须是扩展UTF-8包的一部分,对吗?

例如,在Windows下,默认代码页是iso-8859-1,它没有希伯来语。

我认为将其切换到UTF-8可能会工作,因为现在新的Windows版本允许文件名中的所有Unicode字符,但并不真正推荐

乔俊才
2023-03-14

使用mb_convert_编码将名称(字符串)从UTF-8转换为ISO-8859-8。我已经用PHP7和Windows10对它进行了测试。

翟淇
2023-03-14

PHP在处理字符串时有一些Unicode支持,但PHP的字符串类型在内部是单字节的,不支持多字节编码。如果以UTF-8格式保存PHP文件,则可以使用正确的HTTP编码以UTF-8格式输出字符串,但许多PHP函数不支持多字节字符串。有一些人这样做,但大多数人不这样做。

我查看了PHP源代码,发现像mkdir这样的大多数文件系统函数都不支持Unicode。它们对单字节字符串进行操作,这就是为什么在创建目录时会出现ASCII乱码的原因。

您可以尝试调用setlocale并将其设置为he_IL,然后再调用mkdir,看看这是否有任何不同。

欲了解更多信息:

字符串是一系列字符,其中一个字符与一个字节相同。这意味着PHP只支持256个字符集,因此不提供本机Unicode支持。请参阅字符串类型的详细信息。

详细介绍了不同的编码、支持多字节的函数以及基于PHP中是否启用Zend Multibyte支持的不同行为,以及以不同编码保存文件如何影响PHP中的字符串。

不幸的是,在这个时候,我不相信你能够直接在PHP中创建一个包含多字节字符串的目录。

在内部,函数mkdir在文件中调用此函数mkdir。c调用_php_stream_mkdir,它使用普通文件包装器调用php_mkdir_ex,最终使用使用c mkdir函数创建目录的virtual_mkdir创建目录。

我认为当它调用mkdir在文件系统上创建目录时,所有编码都丢失了,它被视为单字节char*字符串。

 类似资料:
  • Adobe 亚洲语言书写器 借助 Adobe 亚洲语言书写器,您可以使用中东和南亚语言创建内容。您可以键入或混合键入阿拉伯语、希伯来语、英语和其他语言。 您可以在“段落”面板菜单(窗口 > 段落 > 面板菜单)中的可用书写器之间进行选择。例如,您可以使用中东和南亚语言单行书写器或中东和南亚语言逐行书写器。 有关 Illustrator 中支持的其他亚洲语言的更多信息,请参阅适用于亚洲语言文字的书写

  • 启用中东语言功能 若要在 Photoshop 界面中显示中东文字选项,请执行以下操作: 选取“编辑”>“首选项”>“文字”(Windows) 或“Photoshop”>“首选项”>“文字”(Mac OS)。 在“选取文本引擎选项”部分中,选取“中东”。 单击“确定”,并重新启动 Photoshop。 选取“文字”>“语言选项”>“中东语言功能”。 文本方向 要创建阿拉伯语和希伯来语内容,您可以将默

  • 在 Dreamweaver 中将双向流量应用到阿拉伯语和希伯来语文本;使用标签编辑器、“表格”属性和 Div 属性。 在中东和北非版本的此软件中,可通过阿拉伯语和希伯来语使用新的功能和改进功能。 双向文字流 中东语言的文字大多从右向左 (RTL) 书写。但是,一般而言,最常用的形式为双向 (bidi) 文字 - 混用从左向右和从右向左书写的文字。bidi 文字的一个示例是含有阿拉伯语和英语文字的段

  • 我有一个编码问题。我有一个Android应用程序,包括一个文本字段,允许用户使用希伯来文键盘和希伯来文字符键。 我希望根据pc862希伯来语代码页对该数据进行编码,以便将其发送到打印机进行打印(打印机配置为根据该代码页接受数据)。我应该能够使用以下代码执行此操作: 根据这里找到的文件http://docs.oracle.com/javase/7/docs/technotes/guides/intl

  • 我正在用AJAX向某个服务器发送文件,比如: 代码运行良好,但当我将希伯来文文件名放在头部时,我会得到错误: 错误扫描FileTypeError:无法对“XMLHttpRequest”执行“Set RequestHeAder”:值不是有效的ByteString Header:不起作用。

  • 需要一些帮助我有一个pdf,我只需要阅读它并将其内容存储在数据库中。出于某种原因,我找不到使用Itext 7实现这一点的简单示例 另一件事,内容是希伯来语的,起初我用的是iTextSharp,但我得到的内容是相反的顺序,所以我有两个选择:1。修正反向代码2。也许可以在Itext7中找到一个更正常的代码,它没有这个问题。 ConvertToHebrew函数对我来说并不完美,所以我希望能找到一些不需要