2016-10-09 2 views
-1

Ich bekomme einige Facebook-Beiträge, die eine Mischung aus Englisch und und eine nicht-Englisch-Sprache haben (Khmer um genau zu sein).Wie man nicht-Englisch Sprache von Facebook API erhalten

Hier ist, wie die nicht-Englisch angezeigt wird, wenn ich die Daten zum Bildschirm drucken oder in Datei speichern: \ u178a \ u17c2 \ u179b \ u1787 \ u17b6 \ u17a2 \ u17d2. Ich würde es eher als ឈឹ haben anzuzeigen ម បញ្ចពណ៌ (Hinweis: Dies ist keine Übersetzung der früheren Unicode.)

+1

Welche python-Version und welche OS? Wie bekommen Sie die Daten von Facebook? Dekodierst du es von utf-8? – tdelaney

+0

2.7.9, Mac. Nein, ich entziffere es nicht von utf-8. Wenn ich es versuche, bekomme ich einen Fehler: "Ascii" Codec kann Byte 0xc3 an Position 268 nicht dekodieren: Ordnungszahl nicht im Bereich (128) – lars

+1

Können Sie Ihre Eingabe hinzufügen, wenn Sie versuchten, eine Datei zu schreiben? – estebanpdl

Antwort

1

Dies sollte es sein:

print(u'\u1787\u17b6\u17a2\u17d2') #python3 
print u'\u1787\u17b6\u17a2\u17d2' #python2.7 

Ausgang: ជា អ ្

0

In PyCharm I hinzugefügt:

  1. (oben) # - - Codierung: UTF-8 - -

  2. import sys Neuladen (sys) sys.setdefaultencoding ('utf8')

  3. s = json.dumps (Beiträge [ 'data'], ensure_ascii = False)
  4. json_file.write (s.decode ('utf-8'))
2

die Sie interessieren, wenn Sie die Informationen in einer Datei gespeichert werden soll:

import codecs 

string = 'ឈឹម បញ្ចពណ៌' 
with codecs.open('yourfile', 'w', encoding='utf-8') as f: 
    f.write(string) 
Verwandte Themen