Используйте поддержку языка вместе с Firebreath
Я создаю расширение Chrome с помощью Firebreath: http://slimtext.org/ И я сталкиваюсь с проблемой: расширение не очень хорошо поддерживает китайские символы в Windows. После долгих исследований я нашел это: http://www.boost.org/doc/libs/1_50_0/libs/locale/doc/html/default_encoding_under_windows.html
Я думаю, что решение состоит в том, чтобы использовать boost / locale. Но проект https://github.com/firebreath/firebreath-boost, похоже, не содержит boost / locale. Ветвь 1.50.0 содержит более новый импульс, чем ветвь master, но ни один из них не содержит boost / locale.
Я пытался использовать внешний буст или скопировать код локали из внешнего буста, но потерпел неудачу (не смог связаться с локалью при выполнении make)
Каково ваше предложение? Как я могу использовать Boost Locale вместе с Firebreath?
2 ответа
Мне не удалось скомпилировать мой проект Firebreath с внешним Boost в Windows. И после долгих исследований я начинаю сомневаться в том, что повышение / локаль - это ключ к моей первоначальной проблеме: проблема кодирования китайских символов.
Наконец-то я решил это без boost/locale:
- по возможности используйте wstring вместо string
- Возможно, вам придется написать код отдельно для Windows и других операционных систем, например:
#ifdef _WIN32
file.open(path.c_str()); //path is std::wstring
#else
fs::path the_path(path);
file.open(the_path.generic_string().c_str());
#endif
Firebreath-Boost - это лишь часть полного ускорения. Для использования всех бустов установите буст вручную и используйте системный буст. см. http://www.firebreath.org/display/documentation/Prep+Scripts