最近在用red5,用的是red51.0的版本,里面内嵌了tomcat服务器。
发现对于中文名称的文档浏览器无法访问,经过查询发现是tomcat服务器默认不是utf-8编码获得url参数,对于独立的tomcat服务器只需要将配置文件server.xml中:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
在里面加入URIEncoding="utf-8" 这个属性,保存,然后重启tomcat即可。
>对于red5而言,里面没有tomcat的server.xml的配置文件,仔细查看后原来server.xml的配置移到了red5.xml里面,是以bean中property的形式出现的,解决方法就是:
在red5.properties中添加:
#URIEncoding
URIEncoding=utf-8
然后在在red5.xml中,
<bean id="tomcat.server" class="org.red5.server.tomcat.TomcatLoader" init-method="init" destroy-method="shutdown" depends-on="context.loader">
<property name="webappFolder" value="${red5.root}/webapps" />
<property name="connector">
<bean class="org.apache.catalina.connector.Connector">
<!-- Blocking I/O -->
<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11Protocol" />
<!-- Non-blocking I/O -->
<!--
<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11NioProtocol" />
-->
<property name="port"><value>${http.port}</value></property>
<property name="redirectPort"><value>${https.port}</value></property>
<property name="enableLookups"><value>false</value></property>
<property name="useIPVHosts"><value>true</value></property>
</bean>
</property>
在userIPVHosts下面添加
<property name="URIEncoding"><value>${URIEncoding}</value></property> 重启即可