日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 1366 hy000_ERROR 1366 (HY000): Incorrect string value错误解决办法

發布時間:2025/3/20 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 1366 hy000_ERROR 1366 (HY000): Incorrect string value错误解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文地址:http://www.dutycode.com/post-5.html

除非注明,文章均為 www.dutycode.com 原創,歡迎轉載!轉載請注明本文地址,謝謝。

錯誤詳情如上圖:

原因主要是:字符集的問題

解決辦法,將數據庫、數據表以及數據表中的字段全部統一設置成utf8即可。

參考文章:

1、http://www.oseye.net/question/74

2、http://www.cnblogs.com/shishm/articles/1614407.html

3、http://tree-161219.iteye.com/blog/745054

在一個用Struts + Spring+ Hibernate +

Mysql架構的的項目里,通過前臺表單向后臺MySql數據庫添加

數據,當遇到提交中文信息的時候,問題總是比較多,我見過的出錯的情況有兩種:

1)錯誤情況1:

ERROR

1366 (HY000): Incorrect string value

Incorrect string value:

'\xA1\xAA\xA1\xAA\xB0\xFC...' for column 'content' at row 1?Hibernate

flushing: Could not execute JDBC batch update; uncategorized SQLException for

SQL [insert into blog (comments, content, createdate, description, tid, title,

uid, id) values (?, ?, ?, ?, ?, ?, ?, ?)]; SQL state [HY000]; error code [1366];

Incorrect string value: '\xA1\xAA\xA1\xAA\xB0\xFC...' for column 'content' at

row 1; nested exception is java.sql.BatchUpdateException: Incorrect string

value: '\xA1\xAA\xA1\xAA\xB0\xFC...' for column 'content' at row 1

2)錯誤情況2:

提交時不報錯,但是數據庫中插入的中文顯示為如“???”的亂碼,同時在控制臺打印的也是“???”的亂碼字符。

因此涉及到中文字符的問題時,要格外注意“字符集編碼”的問題。

====================

總結一下,在這樣一個項目里,涉及到設置字符集的地方有:

1、JSP頁面文件的編碼:

pageEncoding="utf-8"%>

2、Struts、Spring配置文件(XML)的編碼:

version="1.0" encoding="utf-8"?>

3、Hibernate映射文件的編碼:

version="1.0" encoding="utf-8"?>

4、數據源配置中jdbcurl(數據庫連接)指定的編碼:

如果在spring配置文件applicationContext.xml里配置,在數據源的節點中添加jdbcUrl屬性如下:

jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8

或者,如果在hibernate配置文件中,可以添加如下兩個屬性的配置代碼:

name="connection.useUnicode">true

utf-8

5、Mysql默認字符集:

在Mysql的安裝根目錄下,my.ini中:

# The default character set that will be used when a new schema or table

is

# created and no character set is defined

default-character-set=utf-8

安裝時,默認的字符集是latin1.

Mysql默認字符集,可以在安裝時配置,也可以通過Mysql自帶的MySQL Server Instance Config

Wizard重新配置,配置后重啟服務才可生效。

6、數據庫表字段的字符集:

MySQL對于字符集的指定可以細化到一個數據庫,一張表,一列(字段),應該用什么字符集。

通過在create語句中添加character set

參數指定相應的字符集,如果不指定,則會默認使用其上一個層

級的字符集。

==============問題分析=============

那么,來分析一下,問題可能是出現在什么地方?

結合以上總結的可能出錯的幾個地方,我逐一進行了測試,最后發現和預想的結果一致:

通過報錯信息可以看出,這個問題應該是表單提交的中文字符與Mysql本身的字符集的設置有沖突導致

的,因此排除項目中那些與頁面文件相關的字符集設置。

網上有些地方說,這個問題與下面這個配置中指定的字符集相關:

jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8

但是,經過我的驗證,問題可能并不在此。

經過反復的測試驗證,我確定問題就出在Mysql本身默認字符集的設置上。

通過命令: mysql> SHOW VARIABLES LIKE

'character%';

查看Mysql默認字符集的相關設置:

+--------------------------+---------------------------------+

|

Variable_name?|

Value?|

+--------------------------+---------------------------------+

|

character_set_client?|

latin1?|

|

character_set_connection |

latin1?|

| character_set_database?|

latin1?|

|

character_set_filesystem |

binary?|

|

character_set_results?|

latin1?|

|

character_set_server?|

latin1?|

|

character_set_system?|

utf8?|

|

character_sets_dir?|

D:\Program Files\MySQL\MySQL Server 5.1\share\charsets\

|

+--------------------------+---------------------------------+

由于表是根據hibernate映射文件在spring容器加載啟動時自動創建的,沒有為數據庫、表和表的字段

指定字符集,因此,創建時均使用Mysql默認的latin1字符集,而這個字符集顯然根本不可能處理中文字符,

上面的報錯信息就是因為它而產生的。

因此,通過修改Mysql的默認字符集或者在創建數據庫、表和表的字段時指定字符集解能決這個問題。

下面,以修改Mysql的默認字符集為例說明。

為了讓Mysql支持中文字符,可以把它的默認字符集設置為:

utf-8?——支持幾乎所有字符

gb2312 ——是簡體中文的碼

gbk?——支持簡體中文及繁體中文

中的任何一個。

修改默認字符集的方法如下:

(1) 最簡單的修改方法,就是修改Mysql的my.ini文件中的字符集鍵值,

如?default-character-set =

utf8

character_set_server = utf8

修改完后,重啟mysql的服務,service mysql

restart。

使用 mysql> SHOW VARIABLES LIKE

'character%';查看,發現數據庫編碼均已改成utf8

+--------------------------+---------------------------------+

|

Variable_name?|

Value?|

+--------------------------+---------------------------------+

|

character_set_client?|

utf8?|

|

character_set_connection |

utf8?|

|

character_set_database?|

utf8?|

|

character_set_filesystem |

binary?|

|

character_set_results?|

utf8?|

|

character_set_server?|

utf8?|

|

character_set_system?|

utf8

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的mysql 1366 hy000_ERROR 1366 (HY000): Incorrect string value错误解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品系列 | 亚洲春色www | 国产一级做a爱片久久毛片a | 灌满闺乖女h高h调教尿h | 日韩有码一区二区三区 | 日韩草逼| 国产二级毛片 | 国产亚洲自拍一区 | 黄毛片在线观看 | 色综合久久88色综合天天 | 一级片免费观看 | 成人看的毛片 | 警察高h荡肉呻吟男男 | 91亚洲精品国偷拍自产在线观看 | 嫩草伊人 | 国产成人一级 | 长河落日电视连续剧免费观看 | 一本久道久久综合 | 日韩久久精品 | 四虎永久免费影院 | 9色在线| 99热这里有 | 欧美黑粗大 | 国产精品熟妇一区二区三区四区 | 男女天堂av| 免费av黄色 | 中文字幕第99页 | 人人做人人爽人人爱 | 爆乳2把你榨干哦ova在线观看 | 亚洲伊人av| 日韩在线观看第一页 | 成人aaaaa| 国产91综合一区在线观看 | jzzijzzij亚洲成熟少妇 | 伊人婷婷久久 | 豆花视频在线播放 | 日韩欧美中文在线观看 | 欧美交换国产一区内射 | 国产精品一区二区av白丝下载 | 黄色片91 | 婷婷黄色网| 亚洲视频 中文字幕 | 日韩一区二区三区网站 | 国产理论在线观看 | 日本系列第一页 | 成人日韩 | 欧美偷拍亚洲 | 老熟妇仑乱视频一区二区 | 国产精品永久久久久久久久久 | 国家队动漫免费观看在线观看晨光 | 久草福利在线视频 | 最近中文字幕在线观看 | 毛片视频免费播放 | 日批黄色片| 国产精品免费一区二区三区四区 | 乳色吐息免费看 | 黄色无遮挡 | 国产v亚洲v天堂无码 | 久久盗摄 | 在线视频导航 | 99热在线观看免费 | 日本免费黄色网 | 亚洲精品成人无码熟妇在线 | 久久视频在线播放 | 国产精品久久久久毛片软件 | 国产精品福利视频 | 欧美美女在线观看 | 国产精品一品二区三区的使用体验 | 午夜亚洲福利在线老司机 | 中文字幕精品视频在线观看 | 男女网站视频 | 制服师生在线 | 日本亲近相奷中文字幕 | 欧美五月激情 | 美女三级网站 | 亚洲国产成人在线视频 | 新超碰在线 | 中国美女性猛交 | 国产a级免费视频 | 污污视频网站在线免费观看 | 国产毛片av| 国产美女作爱全过程免费视频 | 国产视频123区 | 中文字幕视频一区 | 来吧亚洲综合网 | 中文字幕成人动漫 | 中文字幕av日韩 | 永久免费无码av网站在线观看 | 日韩福利| 亚洲精品123区 | 99久久九九 | 国产精品超碰 | www超碰| 女人又爽又黄免费女仆 | 欧美日韩中文字幕视频 | 久久伊人五月天 | 国产伦精品一区二区三区网站 | 欧美伦理一区 | 欧美国产综合视频 |