请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

微信公众号:
crossincode
 找回密码
 立即加入
查看: 1503|回复: 4

Python 实战 web.py html模板中有中文会乱码

[复制链接]

1

主题

0

好友

29

积分

新手上路

Rank: 1

发表于 2019-1-20 15:29:07 |显示全部楼层
web.py html模板中有中文会乱码(如<p>中文测试</p>页面访问的时候会出现乱码),如果是带有中文的数据传到模板的参数中,访问页面就显示正常。如$def with (moive) $for m in moive: <p>$m['title']</p>这个就能正常显示。这种情况怎么解决???

回帖推荐

April'scode 查看楼层

我试了在本地打开index.html文件是正常显示的,所以我猜测是到render返回的问题,考虑是不是要在这改编码啥的,试了在Python开头加上了utf-8的声明 没反应 又试了在render周围加encode,会报错。苦恼。
回复

使用道具 举报

1

主题

0

好友

29

积分

新手上路

Rank: 1

发表于 2019-1-20 15:30:30 |显示全部楼层
上传怎么没用啊   禁掉了吗?
回复

使用道具 举报

1

主题

0

好友

29

积分

新手上路

Rank: 1

发表于 2019-1-20 15:43:22 |显示全部楼层
$def with (movies)
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>April's Home Page重恩O</title>
</head>
<body>
<p>欢迎来到</p>
<h1>April's 影评</h1>
<p>影片列表</p>
$for m in movies:
    <li>
        $m['title']
    </li>
<p>jintgeg</p>
</body>
</html>
以上为index.html模板的代码,只有在 $ 参数中的  中文可以正常显示,其他的英文都正常,中文会乱码。
回复

使用道具 举报

1

主题

0

好友

29

积分

新手上路

Rank: 1

发表于 2019-1-20 15:49:57 |显示全部楼层
April'scode 发表于 2019-1-20 15:43
$def with (movies)

我试了在本地打开index.html文件是正常显示的,所以我猜测是到render返回的问题,考虑是不是要在这改编码啥的,试了在Python开头加上了utf-8的声明  没反应   又试了在render周围加encode,会报错。苦恼。
回复

使用道具 举报

1

主题

0

好友

29

积分

新手上路

Rank: 1

发表于 2019-1-22 13:26:15 |显示全部楼层
问题已解决,在报错的时候找到最后一行
D:\Python36\Lib\site-packages\web\template.py, line 1016:

return Template(open(path).read(), filename=path, **self._keywords)



return Template(open(path,encoding='utf-8').read(), filename=path, **self._keywords)

搞定。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|Archiver|手机版|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2021-9-24 01:55 , Processed in 0.079867 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部