[FX.php List] Re-Patch for Surrogate-pair Character

Masayuki Nii msyk at msyk.net
Sat Oct 10 04:47:58 MDT 2009


> > I recognize you (via your photo on your home page) from DevCons and  
> > our PHP User Group meetings.

Hi Joel, 
Thanks for DevCon's meeting.
> >
> > Thank you for posting this to the group!

So I have to patch more. And then done.

http://msyk.net/fmp/fx_ja/FX_patched091010.zip

If you know the difference from original source, please search my name "Masayuki" 
in the file.

On UTF-16, one character has 2 bytes. The surrogate-pair character has double-
2-byte, i.e. 4 bytes. Although we submit the right UTF-8 encoded request, FMS 
recognizes wrong way. If there is one surrogate-pair character in the filed 
value, the last character is deleted and stored in the FileMaker's text field. 
If two surrogate-pairs then last two character are deleted, and so on. WPE will 
recognize one surrogate-pair character as two character at any process in spite 
of convined 2 double byte code into one character.

My patch is very tricky way and it's not smart way, but it needs for current 
FMS. My patch adds some characters after the field value it it has any surrogated-
pair characters. If someone wants to disable this patch, it can control by the 
constant as below.

define( 'SURROGATE_INPUT_PATCH_DISABLED', true);

In a future, FMS might take care of these problem. This constant will be required 
at that time.

Regards,

_______________________________________________________________
Masayuki Nii/Masayuki Nii <nii at msyk.net> <msyk at me.com>:iChat Ready
  Web Site <http://msyk.net> / OME <http://mac-ome.jp>:Emailer




More information about the FX.php_List mailing list