Missing UTF-8 Characters
GoogleCodeExporter opened this issue · 3 comments
GoogleCodeExporter commented
Using jSocket from the browser, I send "green\u0000yellow" and expect
"green\u0000yellow", or "green\x00yellow" at the server.php, however, I receive
"green\x0r\x0writ" (php); i.e. html entities:
"green�r�writ" See:
http://www.utf8-chartable.de/unicode-utf8-table.pl?number=1024&unicodeinhtml=dec
&htmlent=1
What steps will reproduce the problem?
1) Setup the jsocket sample (samples/client/example/example.html) and the
http://code.google.com/p/jsocket/source/browse/trunk/jsocket/samples/server/php/
server.php
2) Replace mySocket.write("GET / HTTP/1.1\r\n\r\n"); with
mySocket.write("green\u0000yellow");
3) The server.php code should receive "green\x0yellow", however the data
becomes (php) "green\x0r\x0writ"
What version of the product are you using? On what operating system?
Version: svn:r132
I have also tried the writeUTFBytes and writeUTF functions.
Original issue reported on code.google.com by erik.hal...@gmail.com
on 25 Jul 2010 at 3:59
GoogleCodeExporter commented
[deleted comment]
GoogleCodeExporter commented
This is not a problem with jsocket. jsocket uses FABrige.js (FB) which uses XML
to transfer javascript objects between actionscript (as3) and javascript. Only
valid XML characters are allowed. In addition, FB does not transfer all
javascript base types properly. Here is an example:
var o={};
o['my-id']=green;
This code will crash an as3 ExternalInterface.call('some function',o).
The only way I know of transferring binary objects and strings through FB
and/or using ExternalInterface is to serialize the base type using JSON and
then use Base64 encoding. Reverse the serialization on the other end.
In addition, encodeURIComponent and escape top level functions will not work
either for all valid UTF-16 characters which javascript and actionscript use.
I recommend this issue be closed.
Original comment by erik.hal...@gmail.com
on 12 Aug 2010 at 4:53
GoogleCodeExporter commented
Interesting, I am not aware of jsocket making any changes to the data it sends
or receives, so it may just be a javascript/flash or php antic, but ill have a
look at it tomorrow. Thanks for reporting this issue.
Original comment by aidamina
on 28 Jul 2010 at 11:25