ID: 45017 Updated by: [EMAIL PROTECTED] Reported By: nospam at nihonbunka dot com -Status: Open +Status: Bogus Bug Type: *Unicode Issues Operating System: BSD PHP Version: 5.2.6 New Comment:
That's because shift-jis doesn't support the (ASCII) tilde. (Unicode char 0x7D): http://demo.icu-project.org/icu-bin/convexp?conv=ibm-943_P130-1999&ShowSet&s=ALL#ShowSet Previous Comments: ------------------------------------------------------------------------ [2008-05-16 02:11:51] nospam at nihonbunka dot com Description: ------------ inconv does not seem to convert single space tildes from utf8 to shift_jis Please bear in mind that shift_jis tildes are not where one would expect them to be. http://en.wikipedia.org/wiki/Shift-JIS "The single-byte characters 0x00 to 0x7F match the ASCII encoding, except for a yen sign at 0x5C and an overline at 0x7E in place of the ASCII character set's backslash and tilde respectively." If I use //IGNORE then the tildes just disappear. If I use //TRANSLIT the bug is even worse - all of the string after and including the first the ~ disappears. There was also a double byte tilde problem in the past, but this is different. Reproduce code: --------------- <?PHP $conv_str = iconv('utf-8','shift-jis'.'//IGNORE','where are the (~) (~) tildes?'); echo ($conv_str); ?> Expected result: ---------------- where are the (~) (~) tildes? the above in shift_jist using //IGNORE Actual result: -------------- where are the () () tildes? using //IGNORE and where are the ( using //TRANSLIT ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45017&edit=1
