繼上次,用big5來解決亂碼問題

http://star1530.pixnet.net/blog/post/347484275-jsp%E4%B8%AD%E6%96%87%E4%BA%82%E7%A2%BC%E4%B9%8B%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95

這次我要用UTF8的方式來解決

有人可能會想

耶??

為何big5用好好還要轉UTF8,吃飽太閒喔??

只能說big5不是萬能,上次做完多國語言後

將繁體-->簡體,我的字全部變成一堆???????

於是只好爬文,改做UTF8...

 

想要網頁有語言切換的人,千萬別用big5阿~~~

 

以下正文開始

----

當初想,改UTF8不難吧?

只要把

<%@ page contentType="text/html; charset=Big5" %>  

改成

<%@page contentType="text/html" pageEncoding="UTF-8"%>  

就可以解決我的問題了吧?

但事情總是沒有想的這麼簡單

雖然改這行讓我的網頁語言切換正常了(繁-->簡轉換不再有???)

但我的mysql卻不正常了

n.JPG

後來我發現還要加

 request.setCharacterEncoding("UTF-8");  

這是為了確保我們傳過去的文字都還是UTF-8

 

還有,有些人電腦要用

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>                    

來代替

<%@page contentType="text/html" pageEncoding="UTF-8"%>  

 

並且,你要確定你的mysql都是UTF-8

以上

附上我的程式碼:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file = "db.jsp"%> 
<!DOCTYPE HTML>
<html>
<head>
  <%
    if(request.getParameter("register") != null){
      String company = request.getParameter("company"); 
      String sql = "insert into log_in (z1)"+ " values ('" + company +"')";   
     int a = stmt.executeUpdate(sql); 
          }
  %>
        </head> 
            <title>繁簡切換不亂碼</title>
        <body>
         <fmt:setLocale value="cn" />
        <fmt:setBundle basename="language/form" var="formBundle" />
    <form action = "register.jsp" method = "post"> 
         <fmt:message key="company" bundle="${formBundle}"/>
        <input type="text" class="form-control" id="company"  name="company">            
        <button type="submit" name = "register">
         送出</button>
    </form>
    </body> 
[only the first 25 lines shown in this example]

 

 

 

arrow
arrow
    創作者介紹
    創作者 kyo 的頭像
    kyo

    鏡花水月-什麼是真?什麼是假?

    kyo 發表在 痞客邦 留言(0) 人氣()