Преобразование широкой символьной строки к нижнему регистру в C++

Вероятно, что json правильно не формируется. Иногда это происходит со мной, когда мой код, который должен производить json, генерирует ошибку. Две опции:

  • поджигатель Использования для просмотра ответа JSON

  • обработка Ошибки установки в коде jQuery с помощью jQuery.ajaxSetup опций, таких как:

      $.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) {   
          alert(textStatus);
          alert(errorThrown);
          alert(XMLHttpRequest.responseText);
      }});
    

Используя обработку ошибок для отладки является большим, так как Вы будете знать сразу, когда будет проблема с Вашим ответом. Можно проверить документация jQuery для jQuery.ajax, который имеет все доступные варианты для jQuery.ajaxSetup.

РЕДАКТИРОВАНИЕ: третья опция состояла бы в том, чтобы просто открыть URL, который должен генерировать JSON и выполнять вывод до Линт JSON для проверки ее.

6
задан Jonathan Leffler 23 October 2009 в 19:42
поделиться

4 ответа

Если ваша строка содержит все эти символы, кодировка должна быть основана на Unicode. При правильной реализации Unicode (глава 4 « Свойства символа ») определяет свойства символа, включая отображение верхнего регистра и нижнего регистра и т. Д.

Учитывая, что преамбулы, функция Towlower () из является правильным инструментом для использования. Если он не работает, у вас есть проблема QoI (качество реализации), которую нужно обсудить с вашим поставщиком. Если вы обнаружите, что поставщик не отвечает, посмотрите альтернативные библиотеки. В этом случае вы можете рассмотреть ICU (Международные компоненты для Unicode).

9
ответ дан 8 December 2019 в 18:38
поделиться

Вы столкнулись с серьезной проблемой. Японский язык не поможет преобразовать немецкий язык и наоборот. Есть языки, в которых нет концепции каптализации ( toupper и друзья здесь не подходят, я полагаю). Итак, можете ли вы разбить строку на отдельные блоки слов одного языка? Если вы можете, вы можете преобразовать части и связать их.

3
ответ дан 8 December 2019 в 18:38
поделиться

Этот SO-ответ показывает, как работать с фасетами для работы с несколькими языковыми стандартами. Если это в Windows, вы можете рассмотреть возможность использования функций Win32 API, если вы можете работать с C ++. NET (управляемый C ++), вы можете использовать char.ToLower и string.ToLower функции, совместимые с Unicode.

1
ответ дан 8 December 2019 в 18:38
поделиться

Взгляните на _wcslwr_l в ( MSDN ).

Вы должны быть в состоянии для запуска функции на входе для каждой из локалей.

0
ответ дан 8 December 2019 в 18:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: