最仅在做一个数据分析的功能时候遇到将list中的中文字符按照数组的形式输出到html模板里的js中进行处理,但是直接输出模板会按照unicode编码输出,这个问题真的让人头大。

本方法实在flask框架里完成的,以下是解决方法,仅供参考。

//r_cname保存的是list类型,存储的是中文字符串
print r_cname
//输出unicode编码格式,格式如下
[u\'\\u6e56\\u4eba\', u\'\\u7070\\u718a\', u\'\\u9ec4\\u8702\', u\'\\u70ed\\u706b\', u\'\\u5c3c\\u514b\\u65af\', u\'\\u731b\\u9f99\', u\'\\u516c\\u725b\', u\'\\u5feb\\u8239\', u\'\\u96c4\\u9e7f\', u\'76\\u4eba\', u\'\\u5c0f\\u725b\', u\'\\u5f00\\u62d3\\u8005\', u\'\\u6d3b\\u585e\', u\'\\u731b\\u9f99\', u\'\\u9ec4\\u8702\', u\'\\u5947\\u624d\', u\'\\u8001\\u9e70\', u\'76\\u4eba\', u\'\\u51ef\\u5c14\\u7279\', u\'\\u706b\\u7bad\', u\'\\u9b54\\u672f\', u\'\\u731b\\u9f99\', u\'\\u5c3c\\u514b\\u65af\']

//处理方法
arr = json.dumps(r_cname, ensure_ascii=False)
print arr

//输出对应的中文
[\"湖人\", \"灰熊\", \"黄蜂\", \"热火\", \"尼克斯\", \"猛龙\", \"公牛\", \"快船\", \"雄鹿\", \"76人\", \"小牛\", \"开拓者\", \"活塞\", \"猛龙\", \"黄蜂\", \"奇才\", \"老鹰\", \"76人\", \"凯尔特\", \"火箭\", \"魔术\", \"猛龙\", \"尼克斯\"]

//输出到模板的时候要注意,调用该变量的时候要加上saf,这是flask中Jinja2变量过滤器
//在html模板页面
< >
var data = {{ d | safe }};
alert(data);
//输出[\"湖人\", \"灰熊\", \"黄蜂\", \"热火\", \"尼克斯\", \"猛龙\", \"公牛\", \"快船\", \"雄鹿\", \"76人\", \"小牛\", \"开拓者\", \"活塞\", \"猛龙\", \"黄蜂\", \"奇才\", \"老鹰\", \"76人\", \"凯尔特\", \"火箭\", \"魔术\", \"猛龙\", \"尼克斯\"]
</ >

以上这篇解决Python中list里的中文输出到html模板里的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

收藏 打印