最仅在做一个数据分析的功能时候遇到将list中的中文字符按照数组的形式输出到html模板里的js中进行处理,但是直接输出模板会按照unicode编码输出,这个问题真的让人头大。
本方法实在flask框架里完成的,以下是解决方法,仅供参考。
//r_cname保存的是list类型,存储的是中文字符串 print r_cname //输出unicode编码格式,格式如下 [u'u6e56u4eba', u'u7070u718a', u'u9ec4u8702', u'u70edu706b', u'u5c3cu514bu65af', u'u731bu9f99', u'u516cu725b', u'u5febu8239', u'u96c4u9e7f', u'76u4eba', u'u5c0fu725b', u'u5f00u62d3u8005', u'u6d3bu585e', u'u731bu9f99', u'u9ec4u8702', u'u5947u624d', u'u8001u9e70', u'76u4eba', u'u51efu5c14u7279', u'u706bu7bad', u'u9b54u672f', u'u731bu9f99', u'u5c3cu514bu65af'] //处理方法 arr = json.dumps(r_cname, ensure_ascii=False) print arr //输出对应的中文 ["湖人", "灰熊", "黄蜂", "热火", "尼克斯", "猛龙", "公牛", "快船", "雄鹿", "76人", "小牛", "开拓者", "活塞", "猛龙", "黄蜂", "奇才", "老鹰", "76人", "凯尔特", "火箭", "魔术", "猛龙", "尼克斯"] //输出到模板的时候要注意,调用该变量的时候要加上saf,这是flask中Jinja2变量过滤器 //在html模板页面 <script> var data = {{ d | safe }}; alert(data); //输出["湖人", "灰熊", "黄蜂", "热火", "尼克斯", "猛龙", "公牛", "快船", "雄鹿", "76人", "小牛", "开拓者", "活塞", "猛龙", "黄蜂", "奇才", "老鹰", "76人", "凯尔特", "火箭", "魔术", "猛龙", "尼克斯"] </script>
以上这篇解决Python中list里的中文输出到html模板里的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。
发表评论