jsp獲取數據庫值亂碼是什麼,數據庫出現亂碼

本文目錄一覽:

JSP頁面數據庫中的中文出現亂碼是怎麼回事?

首先把你獲取的頁面的數據用DB的編碼方式重新編碼一下再存入DB.

如String tstna=request.getParameter("shijuanming");

改成String tstna=request.getParameter("shijuanming");

tstna = new String(tstna.getBytes("ISO-8859-1", "GB2312"));

後面的一個編碼方式,如果DB是GB2312,那就是這個,如果不是,改成DB相應的編碼方式就行了.

當然,把mysql 和 jsp上編碼格式設置一致即可, 一般默認mysql的編碼格式是UTF-8, 建議在jsp中也設置為UTF-8, 如果你不想這麼做的話要改數據庫格式, 也就是說你所有建立的表都要重新建立成GBK編碼。

如何徹底解決jsp頁面中文亂碼及數據庫亂碼

1、知道自己安裝Mysql數據庫安裝配置時選擇了什麼編碼方式,如果之前安裝,現在不太清楚,建議重新安裝Mysql數據庫,安裝配置時選擇utf8

(這裡有個小技巧:不用卸載Mysql數據,找到安裝Mysql數據庫目錄:D:\MySQL Server 5.1\bin下的MySQLInstanceConfig.exe,雙擊運行可以進行重新配置安裝,並選擇utf8編碼方式),如圖

2、安裝成功後,查看編碼方式,sql命令如下:

show variables like ‘character%’;

這裡的所有編碼方式都要統一為utf8,若某一個不是utf8的編碼方式,就要設置為utf8,sql命令如下:set character_set_results=utf8

3、創建數據庫並指定數據庫的編碼方式,sql命令如下:

create database yourDB character set utf8;

4、創建數據庫表,也要指定其編碼方式

5、如果你的Mysql版本是5.0以下,則還需要在hibernate.cfg.xml配置裡面url指定數據庫訪問連接時的編碼方式:

如:url=jdbc:mysql://localhost/db?user=userpassword=123456useUnicode=truecharacterEncoding=UTF8

如果Mysql版本是5.0以上,這裡的url加不加?user=userpassword=123456useUnicode=truecharacterEncoding=UTF8 都沒關係

6、寫一個字符編碼的過濾器,編碼方式也要保證跟mysql的字符集一致為UTF-8

注意:在web.xml配置該過濾器時,必須把該過濾器的filter-mapping放在struts的映射前面,不然起不到過慮作用

7、所有jsp頁面指定編碼格式,保證跟mysql的字符集一致為UTF-8

注意:頁面裡面大小寫統一,如%@ page pageEncoding=”UTF-8″ contentType=”text/html; charset=UTF-8″ %,不能是pageEncoding=”UTF-8″,contentType=”text/html; charset=utf-8″,添加數據頁面也要跟顯示數據頁面的編碼格式要保持一致,不然的話就會出現添加到數據庫中沒亂碼,從數據庫中顯示出現亂碼的情況

為什麼我的JSP程序想數據庫存入漢字時會出現亂碼?怎麼解決啊?

jsp傳值到數據庫出現亂碼,一般有兩個原因:

一種是jsp將數據發送給數據庫時出現亂碼,

一種是數據庫拿到數據後進行存儲是發生亂碼,

出現第一種問題時要去看jsp標籤中是否是為utf-8,再者就要看項目編目是否為utf-8右鍵項目名到preference下可以更改項目編碼。

出現第二種問題時,代表數據庫編碼有問題。右鍵你用的數據庫–數據庫屬性可以更換成utf-8具體視圖如下顯示,

在編碼過程中要保證項目不出現亂碼情況就要在創建項目和數據庫時對其編碼進行上述規定

JSP讀取數據庫漢字 亂碼問題

系統編碼要統一,要用GB2312都用GB2312,當然最好用UTF-8.你讀取數據庫數據出現亂碼就是沒有設置:jsp的pageEncoding = “utf-8″request.setCharacterEncoding(“utf-8”);//傳參

response.setContentType(“text/html;charset=utf-8”);//取參如果設置了以上代碼還有亂碼,那麼你就在jsp頁面加上這句:% @ page language = “java” contentType = ” text / html; charset = UTF – 8 ” % 這句是終極必殺,試試吧!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/196310.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-03 09:54
下一篇 2024-12-03 09:54

相關推薦

  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python zipfile解壓文件亂碼處理

    本文主要介紹如何在Python中使用zipfile進行文件解壓的處理,同時詳細討論在解壓文件時可能出現的亂碼問題的各種解決辦法。 一、zipfile解壓文件亂碼問題的根本原因 在P…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python爬蟲亂碼問題

    在網絡爬蟲中,經常會遇到中文亂碼問題。雖然Python自帶了編碼轉換功能,但有時候會出現一些比較奇怪的情況。本文章將從多個方面對Python爬蟲亂碼問題進行詳細的闡述,並給出對應的…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • Python3亂碼轉中文

    本文將詳細介紹如何轉換Python3中的亂碼為中文字符,幫助Python3開發工程師更好的處理中文字符的問題。 一、Python3中文亂碼的原因 在Python3中,中文字符使用的…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • Win10的Powershell亂碼問題

    在Windows 10系統中,Powershell作為一種廣泛應用的命令行工具,被越來越多的人所熟知和使用,但是有時候會出現亂碼的情況,讓人十分困擾。本文將從多方面進行詳細闡述,幫…

    編程 2025-04-28
  • Axios請求數據亂碼問題解決

    本文將從以下三個方面詳細闡述Axios請求數據亂碼問題的原因和解決方法: 一、設置請求頭 Axios請求數據亂碼的原因可能是因為請求時沒有設置請求頭的編碼方式,而且默認的編碼方式是…

    編程 2025-04-28

發表回復

登錄後才能評論