I'm seeing mischief from ctype_print.

So far as I can tell, the British Pound symbol, '£' is considered a 
printable character according to the locale I use on my Ubuntu box. But 
even across two years, two boxes, several versions of Ubuntu (from 7.04 
to 9.10, one x86, one AMD64), and two major versions of PHP (PHP 4 and 
now PHP 5.2.11), I cannot get ctype_print to return true when a string 
given to it contains the British Pound symbol. (Or other non-ASCII 
characters such as ø or ß.)

The locale I'm using is en_GB.UTF-8 and when I call setlocale(LC_ALL, 
'en_GB.UTF-8') in PHP, it returns the name of this locale rather than 
FALSE, so that seems to be in order. (However, to be sure I have 
installed and reinstalled the language pack in Ubuntu as suggested by 
others.)

I've even read through the en_GB and i18n locale definition files to 
confirm that <U00A3> (for the British Pound symbol) does appear within 
the print and graph sections, so both ctype_print and ctype_graph should 
consider it acceptable.

What's most maddening is that ctype_print does return true on my shared 
hosting server, so I know that it can be achieved. I'm just hoping that 
someone here can tell me what I'm doing wrong, or what my operating 
system is doing wrong.

For your information, I'm currently running the following:

Ubuntu 9.10 (AMD64)
Apache 2.2.14
PHP 5.2.11 running as a CGI (to mirror the config of my shared host)
Locale in use: en_GB.UTF-8
LANG=en_GB.UTF-8

Can anyone tell me how to get ctype_print to behave?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to