in reply to truncating form field input to 4000 characters

Did you try to send non-ASCII characters? They may have gotten converted to HTML entities (&...;). HTML::Entities might be useful here.

Replies are listed 'Best First'.
Re^2: truncating form field input to 4000 characters
by emilford (Friar) on Nov 10, 2005 at 17:07 UTC
    I found the problem to be the different in line feeds. The testers were cutting and pasting from a Word Document into the HTML form. I believe the line feeds from Windows is a "\r\n". Javascript doesn't count the \r as an extra character where Perl and Oracle do. Removing the\r seemed to solve the problem.
      I believe the line feeds from Windows is a "\r\n"

      That also happens to be the line feed used by the HTTP protocol (officially, anyway -- most HTTP servers and clients will accept simple \n line feeds, but it's not 100% correct). Your web client is probably where the \r\n line feeds are coming from in this case, not necessarily Windows.

      I believe the line feeds from Windows is a "\r\n"

      This is (sometimes) a mis-belief

      perldoc perlport clearly states:

      Newlines
      
             In most operating systems, lines in files are terminated by newlines.
             Just what is used as a newline may vary from OS to OS.  Unix tradition-
             ally uses "\012", one type of DOSish I/O uses "\015\012", and Mac OS
             uses "\015".
      
             Perl uses "\n" to represent the "logical" newline, where what is logi-
             cal may depend on the platform in use.  In MacPerl, "\n" always means
             "\015".  In DOSish perls, "\n" usually means "\012", but when accessing
             a file in "text" mode, STDIO translates it to (or from) "\015\012",
             depending on whether you're reading or writing.  Unix does the same
             thing on ttys in canonical mode.  "\015\012" is commonly referred to as
             CRLF.
      

      So to be picky a "\r\n" on Windows should give you "\015\015\012" and not "\015\012".


      s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
      +.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e