{{= XML (кое-что)}} невозможно проанализировать в html с помощью web2py

html json character-encoding web2py magicsuggest

88 просмотра

1 ответ

Я использую magicsuggest в качестве автозаполняемого плагина веб-приложения с web2py. Я определяю переменную списка dt=['张','李']в модели / db.py. Элемент в списке - китайский. Однако, когда я встраивал переменную в HTML, как в {{=XML(dt)}}соответствии с руководством книги Magicsuggest. Китайский символ был искажен. После нескольких дней поиска я обнаружил, что переменная списка с китайским символом была закодирована в шестнадцатеричный код в html. Я знаю, что что-то не так с кодированием / декодированием. Может ли кто-нибудь помочь мне отобразить правильный китайский символ в HTML?

Автор: Yibing Liu Источник Размещён: 08.11.2019 11:26

Ответы (1)


0 плюса

Решение

XML()предназначен для получения строки, а не списка строк. Если вы передадите ему что-то отличное от строки, оно сначала будет преобразовано в строку, поэтому ваш код эквивалентен {{=XML(str(dt))}}, и вы заметите, что в Python это str(['张','李'])дает "['\\xe5\\xbc\\xa0', '\\xe6\\x9d\\x8e']".

Вместо этого вы можете сделать {{=XML(dt[0])}}, и вы увидите первый символ в списке отображается правильно.

Если вы хотите отобразить разделенный запятыми список в квадратных скобках, вы можете сделать:

{{=json.dumps(dt, encoding="UTF-8", ensure_ascii=False)}}
Автор: Anthony Размещён: 21.08.2016 06:11
Вопросы из категории :
32x32