setlocale() 无法在 MacOS 上使用 MAMP 在本地主机上工作

2023-12-28

简而言之我的问题:我正在使用setlocale(LC_TIME, "de_DE")为了用德语显示日期/时间的“口头”部分(即月份、工作日)。这适用于任何公共服务器,但是doesn't在我的本地主机上,使用 MAMP,它以英语而不是德语显示它。


详细地:

我有以下代码(文件中没有其他内容,我将其减少到重现问题所需的最低限度):

<?php
setlocale(LC_TIME, "de_DE");
date_default_timezone_set('Europe/Berlin');
?>
<!DOCTYPE html>
<html lang='de_DE'>
    <head>
        <title>Datum in Deutsch</title>
        <meta charset="UTF-8"> 
    </head>
    <body>
            <p>
                <?php 
                echo "Heute ist ";
                echo strftime("%A, der %e. %B %Y");
                ?>
            </p>
    </body>
</html>

This should显示为

2021 年 6 月 10 日上午

但在我的 localhost/MAMP 上,它is显示为

中午 2021 年 6 月 10 日,星期四

正如我提到的:如果我将此文件上传到任何公共服务器并打开它,它is根据需要显示(即用德语表达)


我已经在 SO 和其他网站上搜索了解决方案。我多次发现的一个建议是检查我的系统上是否安装了德语语言环境。

所以我打开终端(我在 MacOS 10.14.6 上)并输入“locale -a”:返回并安装的区域设置列表includes de_DE (还有许多其他)。

我还找到了在代码中包含此行的建议,以检查所需的区域设置是否可用,我这样做了:

<?php echo setlocale(LC_ALL, 0); ?>

这输出“C/C/C/C/de_DE/C”,所以再次,de_DE is包括(但不会给我本地化的日期显示)。

我的系统:MacOS 10.14.6,MAMP 6.3 作为本地 Apache 服务器,运行 PHP 7.4.12(切换到 PHP 8.0 没有任何改变)

编辑/附加信息:我以前曾在同一系统上使用 AMPPS 作为本地服务器,该系统可以正常工作。所以对我来说这似乎是一个 MAMP 问题。

我该怎么做才能让它发挥作用?任何建议表示赞赏!


你有没有尝试过国际日期格式化程序 https://www.php.net/manual/en/intldateformatter.create.php?这使用unicode 日期格式 https://unicode-org.github.io/icu/userguide/format_parse/datetime/。查看行动中的例子 https://www.tehplayground.com/Ph8Z80TtZStr4m3m

$fmt = datefmt_create( "de-DE",
   IntlDateFormatter::FULL, 
   IntlDateFormatter::FULL,
   'Europe/Berlin',
   IntlDateFormatter::GREGORIAN,
   "EEEE, 'der' d. LLLL Y");

 echo "Heute ist " . datefmt_format( $fmt ,time());
 //output: Heute ist Freitag, der 18. Juni 2021

在上下文中

<?php
setlocale(LC_TIME, "de_DE");
date_default_timezone_set('Europe/Berlin');
?>
<!DOCTYPE html>
<html lang='de_DE'>
    <head>
        <title>Datum in Deutsch</title>
        <meta charset="UTF-8"> 
    </head>
    <body>
            <p>
              <?php 
                $fmt = datefmt_create( "de-DE" , IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'Europe/Berlin',IntlDateFormatter::GREGORIAN  ,"EEEE, 'der' d. LLLL Y");
                echo "Heute ist " . datefmt_format( $fmt ,time());
                ?>
            </p>
    </body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

setlocale() 无法在 MacOS 上使用 MAMP 在本地主机上工作 的相关文章

  • 显示表中的记录

    我的第一个 PHP 项目遇到了一些麻烦 我试图从 MySQL 数据库 有 3 条记录 获取数据并将其显示在表格中 问题是它似乎只显示记录 2 和 3 它跳过了第 1 条记录 请参阅我的代码并在下面显示 if mysqli connect e
  • 如何在 Python 中包含 PHP 脚本?

    我有一个 PHP 脚本 news generator php 当我包含它时 它会抓取一堆新闻项并打印它们 现在 我在我的网站 CGI 中使用 Python 当我使用 PHP 时 我在 新闻 页面上使用了这样的内容 为了简单起见 我删掉了这个
  • PHP - Filter_var 替代方案?

    我构建了一个 php 脚本来输出以表单形式发布的数据 但遇到了问题 网站将运行的服务器运行 PHP 5 1 6 此版本的 PHP 不支持 filter var 我需要知道短期内的替代方案 最好是昨天 但在 Google 或 Stack Ov
  • PHP - 获取base64图像字符串解码并保存为jpg(生成空图像)

    嗨 我实际上是通过 ajax 发送一个 base64 图像字符串到一个 php 脚本 该脚本只是解码字符串并将内容保存为 jpg 文件 但结果是一张空图像 这怎么可能 PHP脚本 uploadedPhotos array photo 1 p
  • 阻止注销页面后的后退按钮

    我有 php 注销页面 当用户单击注销链接时 请参阅此页面并重定向到索引页面 但是当单击后退按钮时 我会看到带有用户数据的上一页 当然 当我刷新页面时 我看不到以前的页面和数据 我在单击注销并单击后退按钮后检查了其他代码 drupal 但我
  • 负载平衡集群中的 PHP 会话 - 如何?

    好的 我得到了这个完全罕见的负载平衡 PHP 网站的独特场景 令人遗憾的是 它过去没有进行负载平衡 现在我们开始遇到问题 目前唯一的问题是 PHP 会话 当然 一开始没有人想到这个问题 因此 PHP 会话配置保留为默认值 因此 两台服务器都
  • 使用 php 在多维数组中按键排序[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中对多维数组进行排序 https stackoverflow com questions 2059255 sorting multidimensional array in php 如何在
  • 如何使用 Twig 的属性函数访问嵌套对象属性

    我试图使用一个树枝变量来访问另一个树枝变量的属性 直到我找到 属性 函数为止 该变量才起作用 除了需要访问嵌套属性的情况外 效果很好 当包含属性的变量实际上是对象 属性时 它不起作用 例如 attribute object1 variabl
  • 如何在 PHP 中使用 cURL 发出同时包含 GET 和 POST 参数的请求?

    其他人已经问过如何从 perl java bash 等执行此操作 但我需要在 PHP 中执行此操作 并且我没有看到任何已提出的专门与 PHP 相关的问题 或包含 PHP 的答案 My code ch curl init url curl s
  • Magento - 检查 cms 页面

    我想通过 php 检查页面是否是 Magento 中的 cms page 我需要不同的 cms 页面面包屑 所以我尝试在一个条件下做到这一点 但我不知道如何或在哪里查看 到目前为止 这是我的 breadcrumbs phtml p some
  • Laravel 5 中的自定义验证器

    我正在将 Laravel 应用程序从 4 升级到 5 但是 我有一个自定义验证器 但无法运行 在L4中 我做了一个验证器 php文件并将其包含在全局 php using require app path validators php 我尝试
  • 语法错误,第 288 行出现意外的“endif”(T_ENDIF)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在离线处理我的 WordPress 网站的此代码错误 解析错误 语法错误 homez 541 photoher marie
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • apache_request_headers() 与 $_SERVER

    据我所知 apache request headers 提供与以下相同的信息 SERVER 但按键略有不同 为什么有人应该使用apache request headers 而不仅仅是从那里获取这些信息 SERVER 我在 Centos 上使
  • phpunit测试调用其他需要mock的类方法的方法

    我正在尝试创建一个非常标准的单元测试 在其中调用一个方法并断言它的响应 但是我正在测试的方法调用同一类中的另一个方法 该方法做了一些繁重的工作 我想模拟该方法 但仍按原样执行我正在测试的方法 仅使用从调用另一种方法返回的模拟值 我简化了示例
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 如何使用 PHP 对字符串进行 rot13 处理?

    我有一个很大的 php 代码 我想手动对其进行编码和解码 我的问题是 php 代码里面有很多单引号和双引号 因此我在使用时出现错误str rot13 功能如下 那么正确的语法是什么以及如何使用下面的函数进行编码 str rot13 That
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee

随机推荐

  • 收到错误“状态 400:客户端向 HTTPS 服务器发送了 HTTP 请求。”在 IntelliJ 上连接到 Docker 时

    我已经使用 Docker Toolbox 安装了 Docker 因为我使用的是 Windows 10 家庭版 但是当我在 Intellij 连接到 Docker 时 它抛出以下错误 状态 400 客户端向 HTTPS 服务器发送 HTTP
  • Javascript/jQuery 附加到 FormData() 返回“未定义”

    我正在尝试使用 jQuery 进行简单的文件上传 我的 HTML 中有一个文件输入 如下所示
  • 通过 C# 中的语音进行 Google 搜索

    我正在制作自己的贾维斯程序 当我说 搜索 我想要的东西时 打开谷歌并搜索 某事 这是我的代码 我不会全部粘贴 private void Form1 Load object sender EventArgs e recognizer SetI
  • 不同列表视图项目的不同选择颜色

    我有以下要求 不同的列表视图项目有不同的颜色 颜色在代码中动态指定 仅当按下 选择列表视图项时才应显示颜色 列表视图项的颜色不应永久更改 无论出于何种原因 它似乎并不像我想象的那么简单 唯一至少朝着正确方向前进一点点的解决方案是 https
  • pyqt 和 websocket 客户端。在后台监听 websocket

    我有一个 PyQt Gui 应用程序 该应用程序有一个主窗口 应在启动后打开 该应用程序应该监听 websocket 我尝试这样解决 if name main app QtGui QApplication sys argv window W
  • 核心数据、NSNumber、整数 32 和整数 64

    在 Core Data 中 我有许多属性声明为 Integer 64 然后通过 NSNumber 属性访问 这是默认情况 我通过以下方式存储和访问这些值是否重要 NSNumber mySetValue NSNumber numberWith
  • 在打字稿中定义对象形状变体

    我试图定义一个可以包含数据或错误的对象 export type ActionResult data any error any function test ActionResult return data 3 当尝试访问函数的结果时 我得到
  • 删除JQ中嵌套对象中的字段

    我有一个 JSON 行文件summary领域和其他领域 我想使用 JQ 删除所有汇总字段 这是我的输入 object1 summary Some summary I want removing keepMe please object2 s
  • XSL-FO 的架构在哪里? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道如何 在哪里下载 XSL FO 1 1 架构 我找不到 XSL FO 1 1 模式 所以很多人
  • 如何在 SQLAlchemy 中建模“UNIQUE”约束?

    我正在编写一个 Flask SQLAlchemy 应用程序 其中有用户和组 用户可以属于多个组 并且他们在每个组中都有一个唯一的编号 询问如何对数据库进行建模 https dba stackexchange com questions 32
  • 如果您不知道 Powershell 中 JSON 对象的名称字段,如何获取它?

    我有这个 JSON 文件 CARD MODEL TITLE OWNER S MANUAL CARD MODEL SUBTITLE Configure your download CARD MODEL SELECT Select Model
  • 如何显示/隐藏(如果可能的话使用动画)LongListSelector 中的复选框

    我已经在 MSDN 上搜索了几个小时 但找不到如何在 Windows Phone 8 的列表中显示或隐藏复选框的示例 一个示例是在消息传递应用程序中 用户使用应用程序栏来按 多项选择 按钮 这允许用户选择多条消息 我发现了一些有关使用 Ex
  • 在 Visual Studio 中的包管理器控制台上更新多个包

    在 Visual Studio 中 包管理器控制台比包管理器对话框更快 这就是为什么我总是使用控制台 但是 有时我需要一次更新 2 3 个软件包 比如说模型 存储库项目 有没有命令可以一次指定这2 3个包 这样我就不用一一打字等待了 顺便说
  • PatternTest 未优化?

    在准备回应时Mathematica 中 PatternTest 的意外行为 https stackoverflow com q 8468072 618728我遇到了意想不到的事情数学我自己的行为 请考虑 test Print False M
  • Eclipse Xdebug 冻结在 57%

    我的问题 当从 Eclipse 为我的一个 php 页面启动调试配置时 该页面在 Chrome 中成功打开 但 Eclipse 调试器冻结在 57 位于 Eclipse 的右下角 并且永远不会进一步前进 永远不会达到设定的断点 我的设置 M
  • 在 swift 中打印而不换行

    在斯威夫特2 0中 print 自动添加换行符 在斯威夫特 1 2 中 println and print 曾经是单独的功能 那么我如何打印一些文本而不添加换行符 因为 swift 不再具有不附加换行符的打印功能 从 Swift 2 0 开
  • 确定汽车和非汽车模式之间最多 1 小时的时差

    I have household person time mode 1 1 07 45 00 non car 1 1 09 05 00 car 1 2 08 10 00 non car 1 3 22 45 00 non car 1 4 08
  • 无法使用 Ghost4J 加载库“gs”

    我正在尝试使用 Ghost4J 将 PDF 转换为 PNG 我知道人们以前曾问过这个问题 但在 OS X 10 和最新版本的 Ghost4J 中却没有 我已按照 zippy1978 的答案中列出的说明进行操作 使用 Java 将 PDF 转
  • WM_TOUCH 不会立即随触摸事件一起发送

    我正在使用触摸屏并使用 Windows 7 内置驱动程序 因为它从未提示我安装任何驱动程序 除了一个小问题外 它工作正常 当我触摸屏幕时 它不会发送 WM LBUTTONDOWN 直到我将手指移离屏幕 这样做似乎是为了确定我是否打算按住模拟
  • setlocale() 无法在 MacOS 上使用 MAMP 在本地主机上工作

    简而言之我的问题 我正在使用setlocale LC TIME de DE 为了用德语显示日期 时间的 口头 部分 即月份 工作日 这适用于任何公共服务器 但是doesn t在我的本地主机上 使用 MAMP 它以英语而不是德语显示它 详细地