传智播客bbs项目,解决mysql中文乱码问题

2024-04-26 07:32

本文主要是介绍传智播客bbs项目,解决mysql中文乱码问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       今天开始实战项目学习,先学一个bbs ,汤老师讲的,汤老师先演示了一遍已做好的项目的功能及使用。然后讲了项目用到的技术,项目的架构,用uml画了项目的类图。接着就开始配置环境,编写代码进行实现。汤老师在项目的讲解中,是和前面hibernate的讲解不一样的,汤老师会讲解一部分,就让学员自己动手去编码实现,然后再对学员遇到的问题及编码的正确写法进行讲解,效果不错。在项目中会遇到很多问题,也对前面学的基础知识进行复习,还可以学到设计模式,算法等,我以后在学习项目中会对这些进行总结,与大家分享。

 

     实际项目中遇到的问题就是多,说一个mysql的中文乱码问题,是一个学员提出的,汤老师帮助解决了,并进行了讲解。我在数据库中还没有插入过中文,还真没有发现这一问题,我试了一下我的程序,发现也有这个问题,就是对数据库表的某一字段插入中文,到数据库中去看,结果全是“?”,这自然是编码的问题。在编码问题解决中,一个重要的思想就是,用什么编码集编码,就要用什么编码集解码。我就按照汤老师解决问题的思路进行解决。首先,在mysql客户端输入status命令Server characterset:    latin1
Db     characterset:    latin1
Client characterset:     latin1
Conn.  characterset:     latin1
这就找到了问题的所在,全都是 latin1,肯定不能进行正确的中文编码,可以在mysql server文件夹中的my.ini文件中,对他们进行设置
[mysql]
default-character-set=gbk
[mysqld]
default-character-set=utf8
default-storage-engine=innodb
重启mysql后就可以看到
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:     gbk
Conn.  characterset:    gbk
我再对数据库插入中文,程序报错,sqlException,could not insert,而插入英文没有问题,可以判断这还是数据库的问题,可以使用show create table tablename;命令,可以看到我要插入的字段后面显示character set latin1;看来还要对表中字段进行修改,在mysql query browser中的表上可以选择edit table ,双击该字段 再选择Column details,可以看到有一下拉列表框clumn Charset 选择utf8即可。

 

    在一个类的编写中,如果方法体暂时不知道该如何写,就在方法里头 写一句throws new UnsupportedOperateException。 相当于做个标记,在其他类中调用它时,通过异常就会知道这个方法还没有写代码。

这篇关于传智播客bbs项目,解决mysql中文乱码问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/936955

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja