<span id="posttopic_99562"> </span> <hr size="1" noshade="noshade"> Bài này mình bày cách dùng Unicode với Struts và MySQL, không phải hỏi :)
1. Khi tạo MySQL thì field type bạn nhớ chọn utf8 và utf8_unicode_ci
2. Trong các file jsp nhớ là dùng page code là UTF-8
<div class="divcode"><code class="prettyprint"><span class="pun"><%</span><span class="pln">@ page language</span><span class="pun">=</span><span class="str">"java"</span><span class="pln"> contentType</span><span class="pun">=</span><span class="str">"text/html; charset=UTF-8"</span><span class="pln"> pageEncoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pun">%></span><span class="pln">
và
</span><span class="pun"><</span><span class="tag">meta</span><span class="pln"> </span><span class="atn">http-equiv</span><span class="pun">=</span><span class="atv">"Content-Type"</span><span class="pln"> </span><span class="atn">content</span><span class="pun">=</span><span class="atv">"text/html; charset=utf-8"</span><span class="pln"> </span><span class="pun">/></span><span class="pln">
</span></code></div>
3. Create một lớp để filter dữ liệu của form như sau (thay package)
<div class="divcode"><code class="prettyprint"><span class="pln">
</span><span class="kwd">package</span><span class="pln"> knowledgemanagement</span><span class="pun">.</span><span class="pln">filter</span><span class="pun">.</span><span class="pln">utf8</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">io</span><span class="pun">.</span><span class="typ">IOException</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">servlet</span><span class="pun">.*;</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> UTF8Filter </span><span class="kwd">implements</span><span class="pln"> </span><span class="typ">Filter</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> destroy</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> doFilter</span><span class="pun">(</span><span class="typ">ServletRequest</span><span class="pln"> request</span><span class="pun">,</span><span class="pln"> </span><span class="typ">ServletResponse</span><span class="pln"> response</span><span class="pun">,</span><span class="pln">
</span><span class="typ">FilterChain</span><span class="pln"> chain</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">throws</span><span class="pln"> </span><span class="typ">IOException</span><span class="pun">,</span><span class="pln"> </span><span class="typ">ServletException</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
request</span><span class="pun">.</span><span class="pln">setCharacterEncoding</span><span class="pun">(</span><span class="str">"UTF-8"</span><span class="pun">);</span><span class="pln">
chain</span><span class="pun">.</span><span class="pln">doFilter</span><span class="pun">(</span><span class="pln">request</span><span class="pun">,</span><span class="pln"> response</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> init</span><span class="pun">(</span><span class="typ">FilterConfig</span><span class="pln"> filterConfig</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">throws</span><span class="pln"> </span><span class="typ">ServletException</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span></code></div>
4. Add máy dòng này vào web.xml
<div class="divcode"><code class="prettyprint"><span class="pln">
</span><span class="pun"><</span><span class="tag">servlet-mapping</span><span class="pun">></span><span class="pln">
</span><span class="pun"><</span><span class="tag">servlet-name</span><span class="pun">></span><span class="pln">action</span><span class="pun"></</span><span class="tag">servlet-name</span><span class="pun">></span><span class="pln">
</span><span class="pun"><</span><span class="tag">url-pattern</span><span class="pun">></span><span class="pln">*.do</span><span class="pun"></</span><span class="tag">url-pattern</span><span class="pun">></span><span class="pln">
</span><span class="pun"></</span><span class="tag">servlet-mapping</span><span class="pun">></span><span class="pln">
...... đoạn này .....
</span><span class="pun"><</span><span class="tag">filter</span><span class="pun">></span><span class="pln">
</span><span class="pun"><</span><span class="tag">filter-name</span><span class="pun">></span><span class="pln">UTF8Filter</span><span class="pun"></</span><span class="tag">filter-name</span><span class="pun">></span><span class="pln">
</span><span class="pun"><</span><span class="tag">filter-class</span><span class="pun">></span><span class="pln">knowledgemanagement.filter.utf8.UTF8Filter</span><span class="pun"></</span><span class="tag">filter-class</span><span class="pun">></span><span class="pln">
</span><span class="pun"></</span><span class="tag">filter</span><span class="pun">></span><span class="pln">
</span><span class="pun"><</span><span class="tag">filter-mapping</span><span class="pun">></span><span class="pln">
</span><span class="pun"><</span><span class="tag">filter-name</span><span class="pun">></span><span class="pln">UTF8Filter</span><span class="pun"></</span><span class="tag">filter-name</span><span class="pun">></span><span class="pln">
</span><span class="pun"><</span><span class="tag">url-pattern</span><span class="pun">></span><span class="pln">/*</span><span class="pun"></</span><span class="tag">url-pattern</span><span class="pun">></span><span class="pln">
</span><span class="pun"></</span><span class="tag">filter-mapping</span><span class="pun">></span><span class="pln">
.......
</span><span class="pun"><</span><span class="tag">welcome-file-list</span><span class="pun">></span><span class="pln">
</span><span class="pun"><</span><span class="tag">welcome-file</span><span class="pun">></span><span class="pln">index.jsp</span><span class="pun"></</span><span class="tag">welcome-file</span><span class="pun">></span><span class="pln">
</span><span class="pun"></</span><span class="tag">welcome-file-list</span><span class="pun">></span><span class="pln">
</span></code></div>
5. Đoạn này mà thiếu thì bỏ
<div class="divcode"><code class="prettyprint"><span class="pln">
jdbc</span><span class="pun">:</span><span class="pln">mysql</span><span class="pun">:</span><span class="com">//127.0.0.1:3306/abc?useUnicode=true&characterEncoding=UTF-8</span><span class="pln">
</span></code></div>
Chú ý dấu & nhé, bạn mà dùng dấu này '&' là không được, phải dùng dấu mã hóa' & amp; ' viết liền lại nó chính là dấu & đó
No comments:
Post a Comment