>Number:         184595
>Category:       misc
>Synopsis:       converters/php5-iconv: iconv transliteration support broken
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 08 16:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Michael Gmelin
>Release:        10.0-BETA3
>Organization:
Grem Equity GmbH
>Environment:
FreeBSD srv10 10.0-BETA3 FreeBSD 10.0-BETA3 #0: Mon Dec 2 20:44:29 UTC 2013     
root@:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
php5-iconv has been changed to use FreeBSD's native iconv implementation where 
available (read FreeBSD 10). Unfortunately FreeBSD doesn't support GNU iconv's 
TRANSLIT and IGNORE extensions, which are clearly documented to be supported 
unconditionally on any platform by the PHP project:

http://www.php.net/manual/en/function.iconv.php
"out_charset 

 The output charset. 

If you append the string //TRANSLIT to out_charset transliteration is 
activated. This means that when a character can't be represented in the target 
charset, it can be approximated through one or several similarly looking 
characters. If you append the string //IGNORE, characters that cannot be 
represented in the target charset are silently discarded. Otherwise, str is cut 
from the first illegal character and an E_NOTICE is generated."

As a result, PHP code that runs correctly on other operating systems or FreeBSD 
< 10 will break in subtle ways.
>How-To-Repeat:
Run the following code snippet:

cat t.php <<EOF
<?php

print iconv("UTF-8", "ISO-8859-1//TRANSLIT", "T\xc5\xbdst\n");

?>
EOF

FreeBSD 9.2:
$ php t.php
TZst

FreeBSD 10 BETA3:
$ php t.php
T?st

>Fix:
Implement TRANSLIT/IGNORE extensions in base or make the port use 
converters/libiconv.

>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to