我是 cakephp 新手,我正在开发一个阿拉伯语网站,我使用了阿拉伯语字符的 slug,但我的问题是缓存文件名显示字符,如 Ù«、ØÃ、ì、ù、à 代替正常人物。
示例:post_Ù...Ù†-Ù†ØÙ†(蛞蝓是:من-نحن)
post_٬مŠ-ومدØÙع-كمروي-ÙÙŠ-تØرÙات-ااØ
那么如何获得这样的缓存文件名:
post_من-نحن 而不是 post_Ù...Ù†-Ù†ØÙ†</p>
我是 cakephp 新手,我正在开发一个阿拉伯语网站,我使用了阿拉伯语字符的 slug,但我的问题是缓存文件名显示字符,如 Ù«、ØÃ、ì、ù、à 代替正常人物。
示例:post_Ù...Ù†-Ù†ØÙ†(蛞蝓是:من-نحن)
post_٬مŠ-ومدØÙع-كمروي-ÙÙŠ-تØرÙات-ااØ
那么如何获得这样的缓存文件名:
post_من-نحن 而不是 post_Ù...Ù†-Ù†ØÙ†</p>
据我所知,这是一个 PHP 问题,文件系统 API(就像许多其他 API 一样)根本不支持 unicode,因此您最终会得到字符串的 ANSI 表示。
https://bugs.php.net/bug.php?id=46990
https://www.google.com/search?q=php+bugs+unicode+filesystem+support&hl=en
您也许可以使用 COM 扩展使其工作,但这需要特定于操作系统的代码,如果它完全工作,还需要更改 CakePHP 核心,或者您必须使用自己的缓存机制,所以它是可能更容易简单地接受它,并等待具有完整 unicode 支持的传奇 PHP6 ‹''›(Ͼ˳Ͽ)‹''›