2015-04-14 13 views
8

Mi scuso in anticipo per la mia mancanza di conoscenza relativa alla codifica dei caratteri."Unicode" rispetto a "String" con SQLAlchemy e PostgreSQL

La mia domanda è: ci sono dei vantaggi/svantaggi inerenti all'utilizzo del tipo 'Unicode', piuttosto che del tipo 'String', quando si memorizzano i dati in PostgreSQL usando SQLAlchemy (o viceversa)? Se è così, ti dispiacerebbe elaborare?

+0

Presumo che questo sia python2? –

+0

@CraigRinger Yessir. Tuttavia, la tua domanda mi fa anche incuriosire su come la domanda, e la risposta, differirebbero con python3. –

+1

python3 usa unicode per tutte le rappresentazioni di stringa, mentre python2 no. Ciò causa problemi ai programmi python2 che convertono tra stringhe di byte e stringhe unicode, che i programmi Python3 solitamente possono evitare. I documenti python hanno una [sezione] (https://docs.python.org/2/howto/unicode.html#tips-for-writing-unicode-aware-programs) che parla di questo. [Questo] (https://pythonhosted.org/kitchen/unicode-frustrations.html) è anche una buona lettura delle frustrazioni di unicode in python2. Nonostante il fastidio, probabilmente è meglio lavorare con unicode perché sembra essere la direzione a prova di futuro. – Dan

risposta

3

Nel 99,99% dei casi viene utilizzato per Unicode e, se possibile, utilizzare Python 3 in quanto renderebbe la vita più facile.

+4

Sarebbe possibile approfondire perché? –