Использовать Unicode или нет в проекте веб-разработки, используя колбу и sqlalchemy - PullRequest
2 голосов
/ 22 октября 2011

Я работаю над проектом веб-разработки с использованием flask и sqlalchemy orm. Мой пост связан с использованием Unicode при разработке этого приложения. Что я понял до сих пор о юникоде:

  1. Если я хочу, чтобы мое веб-приложение обрабатывало данные на языках, отличных от английского, мне нужно использовать тип данных Unicode для моих переменных. Поскольку строковые переменные не могут обрабатывать данные Unicode.

  2. Я использую некоторую базу данных, в которой хранятся данные Unicode, или беру на себя ответственность за преобразование Unicode в RAW при сохранении и наоборот при получении. Sqlalchemy дает мне возможность установить автоматическое преобразование в обе стороны, так что мне не нужно беспокоиться о них.

  3. Я использую python2.7, поэтому я должен знать, как правильно обрабатывать данные Unicode. Обычные строковые операции с данными в кодировке Unicode могут содержать ошибки.

Поправьте меня, если какое-либо из вышеприведенных предположений неверно.

Теперь мои сомнения или вопросы:

  1. Если я сейчас не использую unicodes, то возникнут ли у меня проблемы, если я или фляги решат портировать на python3?

  2. Я не хочу беспокоиться о том, что мое веб-приложение обслуживает разные языки прямо сейчас. Я просто хочу сосредоточиться на первом создании приложения. Могу ли я сделать это позже без использования Unicode прямо сейчас?

  3. Если я сейчас использую юникод, то как это повлияет на мой код. Я заменяю каждый ввод и вывод строки на Unicode или как?

  4. Преобразование юникода при сохранении в базу данных. Может ли это быть источником проблем с производительностью?

По сути, я спрашиваю, использовать ли Юникод или нет, объясняя мои потребности и требования вне проекта.

1 Ответ

2 голосов
/ 22 октября 2011
  1. Нет, но убедитесь, что вы отделяете двоичные данные от текстовых данных. Это облегчает перенос.

  2. С самого начала проще использовать Юникод, но, конечно, вы можете отложить его. Но это действительно не очень сложно.

  3. Вы заменяете все, что должно быть текстовыми данными, на Юникод, да.

  4. Только вы делаете множество преобразований действительно огромных объемов текста.

...