Re: pear ajax and accented letters
| From: | Adi | Date: | Tue, 17 Jan 2006 23:50:59 +0000 |
| Subject: | Re: pear ajax and accented letters | ||
| References: | 1 2 3 4 5 6 7 8 9 10 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-22568@lists.php.net to get a copy of this message | ||
all works great....onel ast question...when data is sent from the client, do
I have to decode/unserialize it? when I send the word 'caractères' it is
interpreted as 'caractères' on the server side. looks like something
internal to ajax is changing the accented character...how do I change it
back to its original state?
thanks...
adam...
On 1/17/06, Joshua Eichorn <josh@bluga.net> wrote:
>
> Ok took me awhile to find the problem, but i got if figured out now.
>
> The JSON code can only ascii and UTF-8 encoded strings, i'm not sure
> what your sending it but its not one of those. I'm guessing its UTF-8
> thats been broken in some way.
> You'll want to reload your JSON.php and then recode all your strings
> before sending them to JSON.
>
> In my testing i could send your string from javascript to php and back.
>
> And from PHP to js but i had to recode first like so:
> $returnData = array('word' =>
> mb_convert_encoding('Français','UTF-8'),
> 'suggestion' =>
> array(mb_convert_encoding('Français','UTF-8'),
> mb_convert_encoding('caractères','UTF-8')));
> return $returnData;
>
> -josh
> Adi wrote:
> > also getting the following notice:
> >
> > PHP Notice: Uninitialized string offset: 7 in
> > /data/www2/newFramework/lib/pear/HTML/AJAX/JSON.php on line 321
> >
> >
> > On 1/17/06, Joshua Eichorn <josh@bluga.net> wrote:
> >
> >> It looks to me like its not escaping some of the unicode characters
> >> properly.
> >>
> >> The unicode escape sequence is \u followed by 4 characters so im not
> >> sure what the second set of 4 does.
> >>
> >> For a test i added in the second \u and things seem to be ok:
> >> http://bluga.net/projects/HTML_AJAX/test.php
> >>
> >> There must be some bug in unicode escaping, I put in an untested fix
> >> that should fix the problem as long as you have mbstring installed.
> >> Just grab
> >>
> >> http://svn.bluga.net/HTML_AJAX/trunk/AJAX/JSON.php
> >> again.
> >> -josh
> >>
> >> Adi wrote:
> >>
> >>> The code runs now, however, json is still having trouble unserializing
> >>>
> >> my
> >>
> >>> data. I am sending back a multidimentional array that has the
> following
> >>> structure:
> >>>
> >>> arra('word' => 'aple',
> >>> 'suggestions' => array('Apple', 'apple',
> >>> 'pale', 'ample',
> 'ale',
> >>> 'ape', 'maple'));
> >>>
> >>> This is what the server is returning...:
> >>>
> >>> raw:
> >>>
> >>>
> >>
>
> [{"word":"caract\u00e8res","suggestions":["caract\u00720065s","caract\u00720065"]}]
> >>
> >>> unserialized:
> >>> the two word suggestions print like this:
> >>> - caractr0065s
> >>> - caractr0065
> >>>
> >>> Please advise...
> >>> Thanks...
> >>>
> >>>
> >>>
> >>> On 1/17/06, Joshua Eichorn <josh@bluga.net> wrote:
> >>>
> >>>
> >>>> Adi wrote:
> >>>>
> >>>>
> >>>>> I reconfigured my php with multibyte support and I can post data to
> >>>>>
> >> the
> >>
> >>>>> server with no problem, however, now the php JSON server side code
> is
> >>>>> producing further problems...its just a notice, but the data
> returned
> >>>>>
> >> is
> >>
> >>>>> useless:
> >>>>>
> >>>>> PHP Notice: Uninitialized string offset: 7 in
> >>>>> /data/www2/newFramework/lib/pear/HTML/AJAX/JSON.php on line 120
> >>>>>
> >>>>> Is there a way around this by any chance?
> >>>>>
> >>>>> Thanks for your time...
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>> The JSON code is actually from Services_JSON which hasn't had a
> >>>>
> >> released
> >>
> >>>> yet, there is an updated version that might fix this problem. I'll
> >>>> update the version in HTML_AJAX before the next release but that
> could
> >>>> be a week or so.
> >>>>
> >>>> If you want to give the updated JSON code a try you can downloaded an
> >>>> updated version from:
> >>>>
> >> http://svn.bluga.net/HTML_AJAX/trunk/AJAX/JSON.php
> >>
> >>>> Just replace /data/www2/newFramework/lib/pear/HTML/AJAX/JSON.php with
> >>>> the updated file. If that doesn't fix it let me know and will get
> >>>> Michal involved.
> >>>>
> >>>> -josh
> >>>>
> >>>>
> >>>>
> >>>
> >>> --
> >>> Take care...
> >>> Adam
> >>>
> >>>
> >>>
> >>
> >
> >
> > --
> > Take care...
> > Adam
> >
> >
>
>
--
Take care...
Adam