編碼問題一直是個很使人頭疼的事,這幾天搭了一個Spring MVC+VTL的web框架,發現中文亂碼了,這裏記錄一種解決亂碼的方案。html
開發環境爲eclipse,首先,檢查Window->preferences->workplace->Text File Encoding,設置爲GBKweb
.vm文件中加入編碼約束,舉例以下spring
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GBK">
<title>show param</title>
</head>
<body>
<h1>自動綁定的數據</h1>
Url參數:${urlParam} </br>
form參數:${formParam} </br>
form文件:${formFile} </br>
<h1>手動拉取的數據</h1>
Url參數${urlParam1} </br>
form參數${formParam1} </br>
form文件${formFile1} </br>
</body>
</html>
在spring關於velocity的配置文件中加入如下配置:app
<bean id="velocityConfigurer"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"
>
<property name="resourceLoaderPath">
<value>WEB-INF/views/</value>
</property>
<property name="velocityProperties">
<props>
<prop key="input.encoding">GBK</prop>
<prop key="output.encoding">GBK</prop>
</props>
</property>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"
>
<property name="suffix">
<value>.vm</value>
</property>
<property name="contentType">
<value>text/html;charset=GBK</value>
</property>
</bean>
後記:框架
若是eclipse的默認編碼設置爲utf-8,那麼從一開始編輯文件,無論是英文仍是中文都是utf-8的,此時按照gbk的相似流程寫一遍就行了。eclipse