ID:               34105
 User updated by:  nospamplease at veganismus dot ch
 Reported By:      nospamplease at veganismus dot ch
-Status:           Feedback
+Status:           Open
 Bug Type:         Unknown/Other Function
 Operating System: Windows NT 5.2 build 379
 PHP Version:      5.0.4
 New Comment:

i also testet it on my personal computer (PHP/5.0.2 on Mandrake 10) and
the actual result is " " which is just as strange. the same goes
for html_entity_decode()!
other characters that are not convertet as expected: 
Ɛ (Ɛ)
ϒ (ϒ)
ϖ (ϖ)
  
also characters with a very high ordinal number are not convertet at
all. i'd expect "Ẍ" (X with diaeresis) to be convertet to
Ẍ

then i testet it on PHP/4.4.0 (RedHat Linux) and the result was
correct!


Previous Comments:
------------------------------------------------------------------------

[2005-08-12 22:40:42] [EMAIL PROTECTED]

Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php

If you can provide more information, feel free to add it
to this bug and change the status back to "Open".

Thank you for your interest in PHP.




------------------------------------------------------------------------

[2005-08-12 18:28:06] nospamplease at veganismus dot ch

Description:
------------
i think ƒ (aka ƒ aka ƒ) is converted to a nonapplicable
character (Α) when converting from UTF-8.

This is similar to the bug #32063.

Reproduce code:
---------------
<?
header('Content-Type: text/html; charset=utf8');
$chr = uft8_chr(402);
echo 'UTF-8-Character: '.$chr;
echo ' ('.ord($chr[0]).'/'.ord($chr[1]).')';
echo '<br>Actual result: ';
$str = htmlentities($chr,1,'utf-8');
echo $str;
echo '<br>Actual result (source): ';
echo htmlspecialchars($str);
echo '<br>Expected result: &fnof;<br>Expected result (source):
&amp;fnof;';

function uft8_chr($num){
  if($num<128)return chr($num);
  if($num<2048)return chr(($num>>6)+192).chr(($num&63)+128);
  if($num<65536)return
chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128);
  if($num<2097152)return
chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128)
.chr(($num&63)+128);
  return '';
 }
?>

Expected result:
----------------
"&fnof;" (or "&#402;")

Actual result:
--------------
"&Alpha;"


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=34105&edit=1

Reply via email to