繼上次,用big5來解決亂碼問題
這次我要用UTF8的方式來解決
有人可能會想
耶??
為何big5用好好還要轉UTF8,吃飽太閒喔??
只能說big5不是萬能,上次做完多國語言後
將繁體-->簡體,我的字全部變成一堆???????
於是只好爬文,改做UTF8...
想要網頁有語言切換的人,千萬別用big5阿~~~
以下正文開始
----
當初想,改UTF8不難吧?
只要把
<%@ page contentType="text/html; charset=Big5" %>
改成
<%@page contentType="text/html" pageEncoding="UTF-8"%>
就可以解決我的問題了吧?
但事情總是沒有想的這麼簡單
雖然改這行讓我的網頁語言切換正常了(繁-->簡轉換不再有???)
但我的mysql卻不正常了
後來我發現還要加
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]
文章標籤
全站熱搜
留言列表