2015-04-14 16 views
8

Przepraszam z góry za brak wiedzy na temat kodowania znaków.'Unicode' vs. 'String' z SQLAlchemy i PostgreSQL

Moje pytanie brzmi: czy istnieją nieodłączne zalety/wady stosowania typu "Unicode", a nie typu "String", podczas przechowywania danych w PostgreSQL przy użyciu SQLAlchemy (lub na odwrót)? Jeśli tak, to czy mógłbyś opracować?

+0

Zakładam, że to jest python2? –

+0

@CraigRinger Yessir. Jednak twoje pytanie także sprawia, że ​​jestem ciekawa, jak pytanie i odpowiedź będą się różnić w python3. –

+1

python3 używa unicode dla wszystkich reprezentacji ciągów, a python2 nie. To powoduje problemy w programach python2, które konwertują między ciągi bajtów i łańcuchy unicode, które programy Python3 zwykle unikają. Dokumenty Pythona mają [rozdział] (https://docs.python.org/2/howto/unicode.html#tips-for-writing-unicode-aware-programs), który mówi o tym. [To] (https://pythonhosted.org/kitchen/unicode-frustrations.html) jest również dobrym odczytem na temat frustracji unicode w python2. Pomimo irytacji najlepiej jest pracować z unikodem, ponieważ wydaje się, że jest to kierunek przyszłościowy. – Dan

Odpowiedz

3

W 99,99% przypadków przejdź do Unicode i jeśli to możliwe użyj Pythona 3, ponieważ ułatwi Ci to życie.

+4

Czy można wyjaśnić, dlaczego? –