ID:               14898
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Analyzed
 Bug Type:         HTTP related
-Operating System: linux slackware8
+Operating System: ANY
-PHP Version:      4.1.1
+PHP Version:      ANY
 New Comment:

It's known issue that PHP does not work well with multi-byte file
names. 
This is better to be fixed someday. We don't know encoding used for
filename, but it should be useful still.




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

[2002-02-08 10:36:38] [EMAIL PROTECTED]

it is better to say that this is an improvement to make the upload
function can treat mulit-byte codes like BIG5. there is a explanation
in my first post.  

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

[2002-02-07 22:52:59] [EMAIL PROTECTED]

Is this a patch proposal? I don't see any bugs...

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

[2002-01-11 06:24:44] [EMAIL PROTECTED]

anyway, i hope this is the final post about this issue.
----------------------------------------------
s = strrchr(filenamebuf, '\\');
tmps=filenamebuf;
while (!(*tmps==NULL)) {
  if (!(*tmps>0 && *tmps<160)) {//looks like a chinese word
    if (!*(tmps+1)==NULL) tmps++;
  } else {
    if (*tmps=='\\') s=tmps;
  }
  tmps++;
}
-----------------------------------------------

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

[2002-01-09 03:42:34] [EMAIL PROTECTED]

-----------code modified----------------------
//s = strrchr(filenamebuf, '\\');
char *tmps;
s=filenamebuf; // set initial value 
for (tmps=filenamebuf;*tmps;tmps++) {
  if (*tmps<0){// *tmps>127, looks like 2 bytes of chinese code
    if (!*(tmps+1)) tmps++;
    continue;
  }
  if (*tmps=='\\') s=tmps;
}
----------code modified end -------------------

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

[2002-01-08 09:37:12] [EMAIL PROTECTED]

the following code works well for chinese double-byte checking.
-----------code modified----------------------
//s = strrchr(filenamebuf, '\\');
char *tmps;
for (tmps=filenamebuf;*tmps;tmps++) {
  if (*tmps<0){// *tmps>127, looks like 2 bytes of chinese code
    if (!*(tmps+1)) tmps++;
    contonue;
  }
  if (*tmps=='\\') s=tmps;
}
----------code modified end ------------------- 


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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/14898

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

Reply via email to