gpt4 book ai didi

php - opendir 和 readdir 返回 utf8

转载 作者:可可西里 更新时间:2023-11-01 12:21:18 26 4
gpt4 key购买 nike

为什么这会在一台服务器上返回 utf8 字符,而在另一台服务器上却不返回?一些文件名包含 unicode 字符,例如 æ øå..

在某些环境中打印 utf8 字符,在某些环境中打印 iso 字符

header('content-type: text/plain');
$handle = opendir("./dir");
while($readdir = readdir($handle)){
echo "$readdir\n";
}

输出 Content-Type:text/plain;charset=UTF-8

Retursvar 2 med fejl p� debiteringsniveau.xml
Retursvar 2 med fejl på debiteringsniveau.xml

两个系统上安装了相同的语言环境 (UTF8)

dpkg-reconfigure locales

最佳答案

您可能会发现您的 Web 服务器在每个系统上的不同区域设置下运行。

要确定这一点,请通过您的网络服务器运行以下 php:

<?php
system("locale");

返回正确字符的网络服务器很可能在“utf8”语言环境或“C”中运行。

网络服务器使用的语言环境可以在不同的地方设置。通过使用系统范围的区域设置 - 或特定于服务的区域设置。您可能需要调查任何差异的原因,并决定是更新系统范围的区域设置还是仅更新网络服务器。

在 Debian 上,系统范围的语言环境更改可以使用

dpkg-reconfigure locales

并按照提示进行操作。

或者,对于特定于服务的语言环境。在启动服务之前,将“LANG”环境变量设置为您在服务初始化脚本中需要的变量。可能有一个特定于服务的配置文件,您还可以搜索以在网络服务器升级时保留更改。

关于php - opendir 和 readdir 返回 utf8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35850443/

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