标签: setlocale

Windows上的Unicode setlocale和strftime失败

我有一个页面,它的编码是UTF-8,如果我尝试在unix系统中运行该代码,Everythings看起来很好但是当我尝试在windows(7)中运行时,一些字符看起来是问号( ).如何在两个系统中运行代码都很好(不使用iconv).

header('Content-Type: text/html; charset=UTF-8');
setlocale(LC_ALL, 'turkish');
echo strftime("%d %B %Y, %H:%M");
Run Code Online (Sandbox Code Playgroud)

php windows unicode strftime setlocale

2
推荐指数
1
解决办法
2928
查看次数

setlocale()返回false

nl_NL utf8在我的网络服务器上安装了荷兰语local()(当我执行时,locale -a我看到nl_NL utf8这样就可以了).

但是,我网页上的日期是英文(我已放在setlocale(LC_ALL, 'nl_NL');我的页面顶部).我已经阅读了在编译php后安装locale包时,我必须重新编译php.

但有没有其他解决方案,没有重新编译PHP,让它工作?

谢谢!

php linux setlocale

2
推荐指数
2
解决办法
6494
查看次数

如何用Java中的挪威字符排序字符串?

æøå是挪威字母表中的最新字母

   A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å

    List<String> words = Arrays.asList(
    "A", "B", "Z", "Æ", "Ø", "Å"     );

    Locale la = new Locale("nor", "NOR");
    Collator coll = Collator.getInstance(la);
    coll.setStrength(Collator.PRIMARY);
    Collections.sort(words, coll);
    System.out.println(""+ words);
Run Code Online (Sandbox Code Playgroud)

答案应该是

A,B,Z,Æ,ØÅ,

但我得到:

A,Å,Æ,B,Z,Ø

任何人都可以建议如何获得高于输出?

java sorting locale localization setlocale

2
推荐指数
1
解决办法
582
查看次数

漂浮在perl的德国语言环境中不是昏迷的

我在德国语言环境中安装了一台linux机器.当我在perl中打印float/double时,我希望它以昏迷分开打印而不是点分开.但它没有发生.任何的想法 ?

    [root@IDCDVAM886 ~]# uname -a
    Linux IDCDVAM886 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
    [root@IDCDVAM886 ~]# cat /etc/redhat-release 
    Red Hat Enterprise Linux Server release 7.2 (Maipo)
    [root@IDCDVAM886 ~]# locale
    LANG=de_DE.UTF-8
    LC_CTYPE="de_DE.UTF-8"
    LC_NUMERIC="de_DE.UTF-8"
    LC_TIME="de_DE.UTF-8"
    LC_COLLATE="de_DE.UTF-8"
    LC_MONETARY="de_DE.UTF-8"
    LC_MESSAGES="de_DE.UTF-8"
    LC_PAPER="de_DE.UTF-8"
    LC_NAME="de_DE.UTF-8"
    LC_ADDRESS="de_DE.UTF-8"
    LC_TELEPHONE="de_DE.UTF-8"
    LC_MEASUREMENT="de_DE.UTF-8"
    LC_IDENTIFICATION="de_DE.UTF-8"
    LC_ALL=de_DE.UTF-8
    [root@IDCDVAM886 ~]# echo $LC_ALL
    de_DE.UTF-8
    [root@IDCDVAM886 ~]# echo $LC_NUMERIC
    de_DE.UTF-8

    [root@IDCDVAM886 ~]# cat my.pl 
    #!/usr/bin/perl

    use locale;

    print "LC_NUMERIC = $ENV{LC_NUMERIC}\n";
    print 5/2 ;
    print "\n";
    my $val = 2,5; …
Run Code Online (Sandbox Code Playgroud)

linux perl locale setlocale

2
推荐指数
1
解决办法
243
查看次数

如何将挪威语添加到setlocale()?

我想添加挪威日期。这样我的网站上可以有两种语言。

根据PHP手册,它说

setlocale()的返回值取决于PHP正在运行的系统。它完全返回系统setlocale函数返回的内容。

如何添加挪威语?

提前致谢。

我想使用setlocale()和strftime()如下。(适用于挪威语和英语)

setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
Run Code Online (Sandbox Code Playgroud)

php setlocale

1
推荐指数
1
解决办法
5466
查看次数

PHP星期几数字到星期几文本不是英语

我试图setlocale()在Windows 上使用函数来转换其他语言的天名,但它不起作用.

<?php setlocale(LC_ALL, 'nl_NL'); 
echo date("l", strtotime($variable); ?>
Run Code Online (Sandbox Code Playgroud)

有没有人可以选择setlocale()?我使用Codeigniter框架.

php codeigniter date setlocale

1
推荐指数
1
解决办法
1736
查看次数

如何在本地化网站上更改日期时间格式?

我有一个不同语言的本地化网站

用户可以选择在配置文件中使用的语言,这将在PageLoad 之前应用

context.setLocalString("en")
Run Code Online (Sandbox Code Playgroud)

“en”默认为 en-US 我相信所以网站上的日期以美国格式显示,所以我知道我可以使用它。

context.setLocale(new Locale("en","gb"))
Run Code Online (Sandbox Code Playgroud)

setLocal 的问题在于它不会更新 HTML lang="en" 属性,因此事件虽然在使用 setLocal 后日期是正确的,但使用的语言文件仍然是 englisn(US) 而不是 english(uk) 一个。(即不是 html lang="en-gb")

因此,当来自英格兰的用户在他们的个人资料中将他们的语言设置为 en-uk 时,他们会获得美国语言文件。

所以我试着这样做

 context.setLocale(new Locale("en","gb"))
 context.setLocalString("en-GB")
Run Code Online (Sandbox Code Playgroud)

但随后 setLocalString 覆盖了 setLocalString ,反之亦然。所以看起来我不能同时使用它们

有什么方法可以在 beforePageLoad 上添加代码,以确保 html lang 属性使用正确的语言进行更新,并且我的日期以正确的语言集格式显示?

date-format setlocale xpages

1
推荐指数
1
解决办法
2321
查看次数

Linux 中存储区域设置名称的缓冲区大小应该是多少?

我想存储 Linux 上 setlocale() 函数返回的区域设置名称。与Windows平台一样,最大区域设置大小定义为LOCALE_NAME_MAX_LENGTH,是否有为Linux定义类似的宏?另外,我需要在上述两个平台上使用相同的缓冲区。

char buffer[];
buffer = setlocale(LC_ALL, NULL);
Run Code Online (Sandbox Code Playgroud)

c++ linux locale setlocale

1
推荐指数
1
解决办法
254
查看次数

无法在 Java 中将西班牙语日期字符串转换为 LocalDate

您好,我来这里是为了解决Locale格式化程序语言的DateTimeFormatter问题,让我向您介绍一下:

  • 我正在阅读具有以下字符串格式的 CSV 文件:“dd-MMM-yyyy”<-->“28-dic-2017”
  • 然后我必须将列表中的每个字符串解析为 LocalDate 以使用 timeAPI 方法处理每个字符串。
  • 请注意,我的月份是西班牙语缩写。那是一团糟!!
  • 执行时返回:

堆栈跟踪观察到的错误:

Exception in thread "main" java.time.format.DateTimeParseException: Text '28-dic-2017' could not be parsed at index 3
    at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2051)
    at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1953)
    at java.base/java.time.LocalDate.parse(LocalDate.java:429)
    at com.examen.Presentation.Principal.parseDate(Principal.java:28)
    at com.examen.Presentation.Principal.main(Principal.java:19)
Run Code Online (Sandbox Code Playgroud)

最小的、可重现的代码示例:

public static LocalDate parseDate(String fecha) {

    Locale loc = new Locale("es", "ES");
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy", loc);
    LocalDate date = LocalDate.parse(fecha, formatter);

    return date;
}
Run Code Online (Sandbox Code Playgroud)

我在尝试来自语言环境的不同事物和方法时遇到了同样的错误,而 DateTimeFormatter 甚至不知道我在做什么,但我认为这显然不会起作用。

java datetime setlocale java-8 datetimeformatter

1
推荐指数
1
解决办法
201
查看次数

如何使用<fmt:setLocale>为JSP设置语言环境?

我正在尝试在JSP中设置本地.

我以为我能做的事情如下:

<fmt:setLocale value="${param['local']}" scope="session"/>
Run Code Online (Sandbox Code Playgroud)

关于这个主题的Java自己的页面似乎说得非常多.

但是,当我去执行它时,我得到:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: /pages/ResourceBundlesJSTL.jsp(11,0) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
 org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
 org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
 org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
 org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1232)
 org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:868)
 org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
 org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
 org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
 org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
 org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
 org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
 org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1787)
 org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:211)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:360)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
 org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause …
Run Code Online (Sandbox Code Playgroud)

jsp locale jstl setlocale

0
推荐指数
1
解决办法
5671
查看次数

如何获取指定货币的语言环境?

我对此遇到了麻烦,因为我有 3 位数代码(美元、欧元、COP 等)的货币。

如果你去使用函数 setlocale 你需要做这样的事情:

setlocale(LC_MONETARY, 'en_US');

看看你传递的是“en_US”而不是“USD”。我怎样才能知道用户选择的每种货币的 LC_MONETARY 的相应语言环境,以便与 setlocale 一起使用。

此外,在我的网站中,货币与语言无关,例如,您的网站是西班牙语,但您可以看到美元的货币。这将导致像这样的语言环境:es_US ???? 我相信它不支持。

谢谢。

php locale currency setlocale money-format

0
推荐指数
1
解决办法
5850
查看次数