【问题标题】:Locale::acceptFromHttp not working correctlyLocale::acceptFromHttp 无法正常工作
【发布时间】:2021-12-13 00:24:55
【问题描述】:

我正在做一个 Laravel 项目,得到一个空字符串,下面的代码。

<?php
    use Locale;

    $locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
    // or $locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
    echo $locale;

结果应该是en-US,但返回空字符串。我可以在我的 Google Chrome 浏览器 v95 上确认请求标头。

Accept-Language: en-US,en;q=0.9

我该如何解决这个问题?

【问题讨论】:

  • 那么我猜标题不包含可解析的语言环境字符串。如果不知道 什么 您正在测试的标头的值是什么,就很难提供帮助。
  • @Martin Bean 我只是通过 chrome 检查确认存在 Accept-Language 值。我想这可能是浏览问题。但我无法在旧版浏览器上检查它。
  • Locale::acceptFromHttp('en-US,en;q=0.9') 为我返回 en_US。检查$_SERVER['HTTP_ACCEPT_LANGUAGE'] 是否包含您所期望的内容。
  • @Devstorm21 我没有问是否有 Accept-Language 标头;我说不知道该标头的 value 很难提供帮助。
  • $_SERVER['HTTP_ACCEPT_LANGUAGE'] is 'en-US,en;q=0.9'

标签: php locale php-7


【解决方案1】:

我可以通过编辑c:\xampp\php\php.ini 来解决错误。 并启用"extension=php_intl.dll"

【讨论】:

    猜你喜欢
    • 2011-12-09
    • 2016-12-01
    • 2014-02-24
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 2012-07-11
    • 2018-04-08
    相关资源
    最近更新 更多