locale functions on OpenBSD 3.5
| From: | Frank Bax | Date: | Tue, 20 Jul 2004 17:12:45 +0000 |
| Subject: | locale functions on OpenBSD 3.5 | ||
| Groups: | php.install | ||
| Request: | Send a blank email to php-install+get-13937@lists.php.net to get a copy of this message | ||
I've installed binary packages (see below) from OpenBSD 3.5 CDROM. I'm having trouble with the locale functions (setlocale and localeconv). I have tried the following code with $sLocale set to '', 'en_US', 'de_DE', 'fr_FR', 'it_IT', 'C' and 'POSIX':
<?php
setlocale(LC_ALL, $sLocale='C);
$aLocaleInfo = localeconv();
foreach($aLocaleInfo as $key=>$val) {
echo "$sLocale.$key=$val<br>\n";} ?> All produce the same output: C.decimal_point=. C.thousands_sep= (it_IT results in '.') C.int_curr_symbol= C.currency_symbol= C.mon_decimal_point= C.mon_thousands_sep= C.positive_sign= C.negative_sign= C.int_frac_digits=127 C.frac_digits=127 C.p_cs_precedes=127 C.p_sep_by_space=127 C.n_cs_precedes=127 C.n_sep_by_space=127 C.p_sign_posn=127 C.n_sign_posn=127 C.grouping=Array C.mon_grouping=Array After some research I found the setlocale 'C' function on OpenBSD has some bugs listed: http://resin.csoft.net/cgi-bin/man.cgi?section=3&topic=setlocale BUGS
The current implementation supports only the "C" and "POSIX" locales for
all but the LC_CTYPE locale.
In spite of the gnarly currency support in localeconv(), the standards
don't include any functions for generalized currency formatting.
LC_COLLATE does not make sense for many languages. Use of LC_MONETARY
could lead to misleading results until we have a real time currency con-
version function. LC_NUMERIC and LC_TIME are personal choices and should
not be wrapped up with the other categories.
So I have three questions:
1) Is there a connection between the C and PHP setlocale functions?
2) If PHP setlocale calls the C routine, then why don't PHP manuals indicate the function is platform/compiler dependant?
3) Are there any values of $sLocale that work on OpenBSD 3.5?
Package list:
gettext-0.10.40p1 GNU gettext
libiconv-1.9.1 character set conversion librarymysql-client-4.0.18 multithreaded SQL database (client) mysql-server-4.0.18 multithreaded SQL database (server)
ntp-4.1.74 network time protocol implementationp5-DBD-mysql-2.90.03 MySQL drivers for the Perl DBI
p5-DBI-1.38 unified perl interface for database accessp5-Net-Daemon-0.38 extension for portable daemons
p5-PlRPC-0.2017 module for writing rpc servers and clientsphp4-core-4.3.5RC3 server-side HTML-embedded scripting language php4-mysql-4.3.5RC3 mysql database access extensions for php4 php4-pear-4.3.5RC3 base classes for common PHP tasks php4-pgsql-4.3.5RC3 pgsql database access extensions for php4
postgresql-7.3.5 PostgreSQL RDBMS recode-3.6p1 convert files between character sets and usages rsync-2.5.7 mirroring/synchronization over low bandwidth links screen-4.0.2 multi-screen window manager