Also, for what it's worth, Microsoft uses a slightly different encoding in CP-1252. I run into this all the time when people copy/paste from Word to ...
Regards, Jerry Schwartz The Infoshop by Global Information Incorporated 195 Farmington Ave. Farmington, CT 06032 860.674.8796 / FAX: 860.674.8341 www.the-infoshop.com >-----Original Message----- >From: Norbert Lindenberg ? [mailto:norbert.lindenb...@yahoo-inc.com] >Sent: Friday, February 26, 2010 1:54 PM >To: php-i18n@lists.php.net >Cc: Norbert Lindenberg ? >Subject: Re: [PHP-I18N] ctype_print returns false for British Pound symbol >(and >non-ASCII symbols) > >In which character encoding is your '£' represented? Remember that PHP >is ignorant about character encodings, a string is just a sequence of >bytes, and it's up to the application developer to make all components >agree on the character encoding used. If your '£' happens to be >encoded in ISO 8859-1, then its byte representation is the same as >"\xA3", which is not a valid UTF-8 string. > >Norbert > > >On Feb 26, 2010, at 08:21 , Bob wrote: > >> [I did post this to php.general, but I think php.i18n may be more >> suitable.] >> >> In summary: ctype_print returns false for a string containing the >> British >> Pound symbol, and I'm sure that's not how it should behave. >> >> 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 Unicode & I18N Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> > > >-- >PHP Unicode & I18N Mailing List (http://www.php.net/) >To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Unicode & I18N Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php