Hi Eric, it seems that urlEncode does not give the expected hex values for high ASCII characters. Yandex expects UTF8 hex values.
for example the german o-umlaut after urlEncode is %F6 which is ASCII 154 in the extended ASCII table yandex expects %C3%B6 that is the utf8-urlEncode form. I don't know if Livecode can do that, I could not get it to work. however yandex also accepts "html" as format in my limited testing with your modified code it worked for me with german umlauts, maybe it also works with chinese. ---------------------------------------------------------- on mouseup local theText, tResult, targetText repeat with i = 1 to the number of lines in card field "source" put the htmlText of line i of cd fld "source" into theText replace "<p>" with "" in theText replace "</p>" with "" in theText put URLEncode((theText)) into theText put \ "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20180527T091305Z.7f33f9fb3f66f0bb.d573f1d9a6336a981504916600c45f49255938b3&text="&theText&"&lang=de-en&format=html" \ into tResult put URL tResult into tResult set the itemdelimiter to "[" put the last item of tResult into targetText put targetText & return after cd fld "target" end repeat end mouseup --------------------------------------------------------- Kind regards Bernd > Eric wrote: > What doesn't work is calling the Yandex api to translate and then send the > translation to a livecode field. Even though I definitely have all the fonts > for Chinese and German installed Yandex returns a bunch of question marks to > the field. :/ > Why is that? What must be done? Because yandex clearly send HTML readable > characters since the apis work on the web. What must I do to the text > returned? _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode