用Java开发出网站,在其中输入中文,但是保存到MySQL数据库中却是????

news/2024/5/9 20:09:22/文章来源:https://blog.csdn.net/weixin_42875245/article/details/106566943

前言:

前两部分是从mysql和eclipse的角度去解决,在解决的过程中学到了之前没设计到的查看和修改数据库或数据表的字符集的知识。

后一部分是掌握了前两步后,进行的新一轮解决问题的探索。其中遇到的细枝末节的bug,也一一解决,最终解决的方法是过在mysql控制台设置数据库的字符集为gbk解决的。但是前两部分的学习,我觉得还是值得了解的。

文章目录

  • 前言:
  • mysql 存储中文显示??,如何解决
    • 方法一:改数据库编码
    • 方法二:改数据表编码。(Navicat中)
    • 方法三:修改数据表编码。(在MySQL中)
  • eclipse连接MySQL存储中文显示??
    • 方法一:改eclipse配置文件
    • 方法二:修改MySQL配置文件
  • 乱码表现,用Java开发出网站,在其中输入中文,但是保存到MySQL数据库中却是????。
    • 1先解决在MySQL中插入看能不能插入;
    • 2处理1366报错。
    • 3eclipse动态网站项目,输入中文,保存到数据库就显示??
    • 4MySQL5.5闪退,Navicat报出2003错误
      • mysql5.5闪退
      • 出现新的问题:text类别不能显示
      • Mysql出现无限回车,无法执行命令;
      • 接着处理text类别的问题。
      • 完结撒花*********************

mysql 存储中文显示??,如何解决

前言:做毕业设计的时候,mysql5.5不知道为什么存储中文显示??。于是开始了下面的尝试。

方法一:改数据库编码

教程:mysql 存储中文显示???,通过修改my.ini解决

结果:没用,继续???。前两步没问题,但是第三步的时候应该是版本的原因,我的是mysql5.5,博主的是mysql5.7。我的my.ini文件中client中没有设置不管用。

收获:这个指令挺好用的(查看数据库当前编码):show variables like ‘%character%’;

方法二:改数据表编码。(Navicat中)

教程:mysql,不能插入中文怎么办?

结果:有的有用(在Navicat中用控制台可以插入),有的没用(在mysql中不能插入)。

收获:也算是成功了一半,至少在mysql中虽然不能插入,但是能用Navicat插入,用mysql显示。

注意事项:1注意保存。

2最好提前写好插入的测试语句,不然每次试都要写一次。如

insert t_user (userName, loginName, password, status, roleId) values (‘开心’,‘kaixin’,‘kaixin’,‘2’,1);

insert t_news (newsId,title,content,categoryId) values (73,‘kaix开心’,‘kaixin开心’,2);

方法三:修改数据表编码。(在MySQL中)

教程:mysql 插入中文 ERROR 1366 (HY000): Incorrect string value: ‘\xE7\x8E\x9E\x97’ for column

结果:依然不行。

收获:了解到了1366报错。对查看和修改数据库或数据表的字符集的mysql知识进行了补充。show full fields from news指令来查看表的字符集挺好用的。

eclipse连接MySQL存储中文显示??

方法一:改eclipse配置文件

教程:eclipse插入数据到MySQL数据库时,出现中文乱码问题的解决方法

结果:无用

收获:对eclipse连接mysql出现中文乱码的解决方法之一有了一个了解,虽然这个对我没用。

方法二:修改MySQL配置文件

教程:mysql如何更改character-set-server默认为latin1

结果:部分有用,部分没用;5.5版本和5.7版本不一样;综合了上一个问题的方法一和方法三。要么在mysql中修改mysql的配置,但是这个是短期的,下次打开又得重新设置;要么修改mysql的my.ini。可以在mysql中修改字符集配置好说,但是修改my.ini就根据版本不同有不同的修改。

收获:对mysql的字符集配置有了更深的理解。

经验:把修改数据表的字符集的命令保存到文档,用的时候复制,不然每次打有些麻烦。

set character_set_database=utf8;

set character_set_server=utf8;

set character_set_database=gbk;

set character_set_server=gbk;

set character_set_client=gbk;

set character_set_connection=gbk;

set character_set_results=gbk;

随笔:

在Navicat中有用,在MySQL中报错;

ERROR 1366 (HY000): Incorrect string value: ‘\xBF\xAA\xD0\xC4’ for column ‘userName’ at row 1

查看mysql的字符集:show variables where Variable_name like ‘%char%’;

查看某一个数据库字符集:show create database enterprises;(注:enterprises为数据库)

查看某一个数据表字符集:show create table employees;(注:employees为数据表)

梳理过程:

补充一个字符集的知识点:gbk与utf8

乱码表现,用Java开发出网站,在其中输入中文,但是保存到MySQL数据库中却是????。

这一部分是回顾整理前两个问题,然后推到下一步怎么办。

1先解决在MySQL中插入看能不能插入;

用Navicat中的操作,修改数据表的字符集为utf8;

参考教程:mysql,不能插入中文怎么办?

还挺有用的,在Navicat中使用终端输入的时候可以输入中文显示中文;

但是又出现两个新的问题,

第一个是在MySQL仍然不能插入,报出1366错误;

ERROR 1366 (HY000): Incorrect string value: ‘\xBF\xAA\xD0\xC4’ for column ‘userName’ at row 1

第二个错误是在Navicat可以正常显示中文,但是在MySQL中不能显示。

2处理1366报错。

方法一:修改数据库的字符集,在直接修改my.ini。

mysql 存储中文显示???,通过修改my.ini解决

不可行,可能和版本有关系,我的是5.5版本,教程的版本是5.7;MySQL5.5好像就是不能修改server和database的字符集。这两个的字符集一直都是Latin1;

方法二:修改数据库的字符集,在MySQL中用语句修改,修改字符集为gbk;

参考教程:ERROR 1366 (HY000):Incorrect string value解决方案(亲测)

误打误撞把显示问题显示问题解决了,把utf8编码改为gbk就可以在MySQL正常显示。

同时用MySQL修改server和database的字符集后,还真的可以输入了。

虽然重启之后,这个server和database又是latin1;但是还是可以输入中文的。

然后我到Java中输入中文,看保存在MySQL是不是中文,结果还是显示??。我估计和我之前把eclipse中的字符集设置为utf8有关。或者和之前只在控制台修改,没有在my.ini中修改有关。在控制台中修改是临时修改,不能根治。但是我的MySQL5.5就是不能修改client和mysqld的默认字符集,设置了不起作用,在显示中,server和database仍然是latin1.或许我该装MySQL5.7.

3eclipse动态网站项目,输入中文,保存到数据库就显示??

创建数据库的时候把字符集设为utf8,保证前端页面编码格式也为UTF-8;

参考教程:解决:JavaWeb项目中向数据库插入中文数据时出现乱码问题

无解,我在my.ini中把字符集设为utf8后,MySQL又开始乱码,所以MySQL5.5中只能设置为gbk.。故此方法仅供参考,我再去想想其他办法。

4MySQL5.5闪退,Navicat报出2003错误

mysql5.5闪退

参考教程:MySQL5.5闪退解决方法

这一部分是最终版本,请仔细看到最后,就知道怎么解决

比较莫名其妙,不过我想应该是我设置的my.ini起作用了,之前的那些操作误打误撞使问题解决了。此时我的感受
在这里插入图片描述

我的MySQL存在C盘,所以用cd…来退出目录,最后用 cd C:\Program Files\MySQL\MySQL Server 5.5\bin 进入MySQL客户端的目录。

有效。退出后,再用client登录没有闪退了。

莫名其妙server和database设置成了gbk;

莫名其妙问题解决了,在eclipse中输入中文可以保存到数据库中,并且没有乱码。

出现新的问题:text类别不能显示

介绍text类别:mysql中char,varchar与text类型的区别和选用

第二天又闪退,然后用第一天的方法操作,再次可行,但是每次都需要自己启动MySQL,觉得好像不能根治。并且database居然变成了latin1,

Mysql出现无限回车,无法执行命令;

网上说是用中文分号结尾导致的,也不知道是不是;

然后用’\c结束这个;有效。

接着处理text类别的问题。

好难找到解决方法,难道没人遇到这个问题?

唯一的一个回答是set names utf8;

我的设置的是gbk,所以我尝试用set names gbk;试试,没用;

show full fields from t_news;

发现我的content中的text类别的collation是latin1_swedish_ci;所以我需要把这个改为utf8_general_ci。

alter table t_news change content content text character set “utf8”;

僵硬,无效,连之前有效的类别都不能插入中文了;可能和我set names utf8;有关

于是我重新把所有的都从头设置一遍。全部设置为gbk。结果解决了

完结撒花*********************

最后没想到是通过在mysql控制台设置数据库的字符集为gbk解决的。

这个讲解不错:https://zhidao.baidu.com/question/136633057177811405.html

完美解决

本人才疏学浅,许多内容请辩证理解。后期会不断更新。

更多内容请关注:CSDN、GitHub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_748439.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站检测之防注入绕过的十一种技巧

2019独角兽企业重金招聘Python工程师标准>>> 1、运用编码技术绕过 如URLEncode编码,ASCII编码绕过。 例如or 11即 %6f%72%20%31%3d%31 而Test也可以为 CHAR(101)CHAR(97)CHAR(115)CHAR(116) 2、通过空格绕过 如两个空格代替一个空格,用Tab代替…

行业分析常用到的21个网站

行业分析常用到的21个网站 前言 今天写《就业乱世,如何正面应战!【所长】》笔记的时候在里面找到了作者分析行业常用到的21个网站。于是我也看一看。还是有不少启发的。让我一目了然知道对哪些公司看哪些数据。我之前接触得迷迷糊糊的,知道…

静态博客网站——vuepress功能进化

vuepress进化史 前言 昨天回顾笔记的时候。想起了我一个月前的尝试的vuepress,之前因为部署没成功,没找到原因就闲置了一下。昨天心血来潮,研究了一下。没想到一下子就解决了。 真的是黎明前最黑暗,离成功就差一步。但是也正如人…

一个把html控件封装的很好的网站bootstrap

最近一直忙于写前台代码突然发现twitter提供了一个开源的工具里面提供了一些非常好的css文件和jquery文件,嘿嘿,现在拿出来分享一下,下面来讲具体应用在MVC的操作 1、先把bootstrap的包下载下来 地址是http://twitter.github.com/bootstrap/&…

商业分析的50个网站和分析方法

商业分析的50个网站和分析方法 前言 今天看到一个内容,感觉还可以,干货多。 摘要 一个questmobile,一个买购网。用来看互联网的研报以及看行业龙头企业。 摘要 下次了解企业的时候,先用爱企查查公司的财务情况;然后用…

查论文的网站

查论文的网站 前言 今天看知乎的时候看到一个内容,感觉不错,对我有用。记录一下。 《你写论文时发现了哪些非常神的网站?》 用网页打开知乎的时候如果弹出登录弹窗,且不能叉掉,可以先刷新一下,然后不断按…

解决访问github等网站慢或下载失败的问题

最近老大push项目,正常的git clone每次都是下载一部分就断掉了。下面介绍网上找到的两种方法: 方法一: 1.打开网站https://www.ipaddress.com/ ; 2.分别在上面打开的网站中查找github.com和github.global.ssl.fastly.net的IP地址&…

ASP.NET 中得到网站绝对路径的几种方法

转载于:https://www.cnblogs.com/weapon/archive/2013/01/19/2867235.html

自定义SharePoint新网站创建过程 (二)

首先澄清一个概念。在一个SharePoint网站的网站设置页面中,使用“将网站另存为模板”链接,管理员可以将整个网站保存为一个扩展名为.stp格式的模板。使用这个stp网站模板,管理员可以重复创建同样结构(和内容)的新网站。…

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件。(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网上发…

[方法篇](禁止YisouSpider|EasouSpider|EtaoSpider)搜索引擎蜘蛛给网站带来的危害,有效指引爬虫对应的措施...

搜索引擎蜘蛛给网站带来的危害,有效指引爬虫对应的措施[方法篇](禁止YisouSpider|EasouSpider|EtaoSpider)上一遍文章《搜索引擎蜘蛛给网站带来的危害,有效指引爬虫对应的措施(最准确搜索引擎蜘蛛名称)》下一篇“如何更高效发现&屏蔽搜索引擎蜘蛛”实…

以电商网站为例,谈大型分布式架构设计与优化

本文大纲: 1. 使用电商案例的原因 2. 电商网站需求 3. 网站初级架构 4. 系统容量估算 5. 网站架构分析 6. 网站架构优化 本文主题为电商网站架构案例,将介绍如何从电商网站的需求,到单机架构,逐步演变为常用的、可供参考的分布式架…

table改网站框的大小

table 当网站出现这样上下不一样宽的时候 修改的时候要修改最外部的table 修改完后效果转载于:https://blog.51cto.com/hmlwl/1398906

Windows Azure系列 -《基础篇》- 创建并发布网站

打开Windows Azure管理门户,点击左侧边栏网站标签,然后点击“创建网站”按钮:在接下来的配置页面输入预想的URL,并选择宿主计划和服务所在位置:点击“创建网站”按钮后就会马上进行创建,很快完成创建并运行…

C++使用libCurl访问12306网站实现登录查询车次信息

作为学习libcurl的小作业, 使用libcurl访问12306,成功获取验证码,目前不能自动识别,需要手动输入:

网站分布式架构

原文:http://xubaoguo.iteye.com/blog/1882030 摘要: 互联网的网站和大部分企业管理软件一样都是使用B/S架构模型,但是大型的公共网站B/S架构会更加复杂,对架构人员的要求更高,今天我想在自己博客里聊聊我设计的网站的B/S技术架构…

网站死链接检测查询工具

网站死链接检测查询工具 什么是网站死链接:死链接就是指网站的链接不能正常被访问,如A页面上面有一个B页面的链接,现在通过A页面的链接访问B页面,可是B页面已经删除或者转移,现在通过A页面的链接访问到B页面并没有出现…

推荐一个很好的看技术书籍的网站,也可以自己写书

2019独角兽企业重金招聘Python工程师标准>>> 1. 网站:https://love2.io 2. 各种技术书籍都有,很多都是技术大牛写的、总结的,也能自己把在gitHub上写的markdown整理而成的书籍上传上去共享出来。 转载于:https://my.oschina.net/u…

Java Web开发: 基于HttpServlet的用户登录网站 实例

一个简单的小例子,基于httpservlet的用户登录(杂家是菜鸟刚接触javaee,只能从最简单出发了),首先看业务逻辑: 有三个文件组成,分别是登录、验证和欢迎界面。要达到的目标是: 下图是H…

你的网站会投放这样的广告么?

我震惊了,钱要赚,但为了公司名誉以及社会影响,就算是广告,能不能有个底线的啊?