gpt4 book ai didi

在 Windows 上提供 utf-8 文件功能的 php 库?

转载 作者:可可西里 更新时间:2023-11-01 13:47:11 25 4
gpt4 key购买 nike

我正在从事一个进行大量路径名操作的项目。它在 Mac OS X 上运行良好,但令我惊讶的是,没有办法调用像 realpath 这样的函数。在 Windows 上使用 utf-8 编码的字符串。这是因为 setlocale在 Windows 上不支持 utf-8:

PHP: setlocale in Windows 7

http://msdn.microsoft.com/en-us/library/x99tb11d.aspx

http://www.phpwact.org/php/i18n/utf-8

我可以制作调用 utf8_encode 的包装函数和 utf8_decode在内部,但是 php 中有太多的文件函数,这给我带来了很大的负担。

此外,该项目是开源的,因此当用户尝试在他们自己的代码中使用我的字符串(它们都是面向网络的 utf-8)来读/写文件时,他们可能会认为它是破坏性的。

是否有提供主要 php 文件函数的 utf-8 版本的库?我更喜欢独立的目录而不是扩展,这样我就可以将它与我的代码捆绑在一起。

我担心如果找不到这样的库,可能是 php 对我来说不适合跨平台开发的致命弱点。我也很好奇其他语言如 ruby​​、python 和 c++ 是如何解决这个问题的(如果有的话)。否则,这可能只是对 Windows 的又一次打击,我将不得不想出另一种解决方法。

最佳答案

Windows setlocale() 函数(不是 php,而是 actual library function)不支持多字节编码。所以你是对的,在 Windows 上设置 utf-8 语言环境是不可能的。

但是您不需要定义新函数。编写流包装器。 Stream wrappers可以被大多数与文件相关的功能使用,甚至是内部功能,例如在 XSLT 模板中加载文档。

关于在 Windows 上提供 utf-8 文件功能的 php 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19797929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com