今天使用HTML5中audio标签时,在播放一个音频文件时无法播放,然后在检查了文件的路径时,我发现路径中包含中文字符,而且由于是在tomcat服务器,通过get方式请求到的播放页面,中文到了服务器后台就变成了乱码。
而问题所在就是,tomcat服务器在解析参数时没有使用正确的解码方式,因为我使用的都是utf-8,所以需要服务器按照utf-8去解码,而tomcat服务器在没有设置解码格式时,默认是ISO-8859-1,所以我们需要将tomcat服务器的URIEncoding参数设置为UTF-8。
打开tomcat服务器的conf文件夹,打开server.xml文件,在Connector中加入URIEncoding参数,如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
然后保存,重启服务器,即可