程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 【Mysql】Mysql數據庫處理Servlet中的漢字傳遞

【Mysql】Mysql數據庫處理Servlet中的漢字傳遞

編輯:MySQL綜合教程

【Mysql】Mysql數據庫處理Servlet中的漢字傳遞


許多Mysql的默認的編碼是latin1,如果Mysql在安裝的時候沒有改變編碼,直接對其錄入中文是不行的,會亂碼的,

首先把要存中文的那個字段的編碼從latin1改成utf-8。如果使用MySQLQueryBrowser可以打開要修改的表,點擊要修改的字段,在Column details那裡的 Column Charset中修改成utf-8

在Servlet的Java文件中,連接數據庫必須帶參數連接?useUnicode=true&characterEncoding=utf8&useOldAliasMetadataBehavior=true

同時,Servlet在jsp網頁與java文件之間,使用form表單傳遞漢字,也是有可能會亂碼的

如果遇到亂碼情況,首先要在網頁頭聲明使用<%@ page import="java.net.*"%>

再在傳遞中文的表單,通過URLEncoder.encode("字符串", "utf-8")把字符串轉碼成utf-8

然後在需要使用request.getParameter接收的Java文件中,使用URLDecoder.decode(request.getParameter("字符串被定義的參數名"), "utf-8");解碼

這樣,傳進數據庫的漢字,就不會出現亂碼情況。

對於在調試過程的數據庫,可以使用Truncate Table把整個表清空,最重要的是,能夠使自增字段的值歸零。

Truncate是一個能夠快速清空資料表內所有資料的SQL語法。並且能針對具有自動遞增值的字段,做計數重置歸零重新計算的作用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved