• 阿里云Centos7的部署springboot后mysql中文问号乱码


    在本地测试时候没有乱码, 但部署线上后在数据交互的时候乱码了

    如图:

    查看数据库

     分析:

    利用IDEA编写项目时,IDEA本身会将其转码为UTF-8,故本地写代码时不会乱码

    查看本地MySQL数据库字符集, utf8没什么问题, 并且在本地数据交互的时候没有乱码

    一旦部署到服务器运行环境上后进行数据交互的时候就出现中文乱码问题, 进而推测是阿里云中编码的问题

    排查:

    一、【MySQL数据库】

    通过navicat连接阿里云中的MySQL后发现数据库本身的编码就是utf8

    通过navicat查看一下数据库本身的编码 [更改之后的效果];

    show variables like 'character%'; 

    通过阿里云DMS查出的结果 [后来证实这样也没问题]

    如果需要在Linux中更改CentOS7中使用mysql的字符编码可以参考下面这篇文章,写的比较详细

    https://blog.csdn.net/qq_42158942/article/details/100016751?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-3

    二、【linux默认的语言】

    后来证实很有可能就是这里的问题:

    原因

    linux默认的语言一般是英文(EN),所以当使用中文目录或者中文命名文件的时候,可能会出现乱码的情况。

    [ LANG=en_US;  LANG=en_US.UTF.-8 都不行]

    解决办法

    (1)通过 locale 命令查看当前linux系统的语言,如果是 LANG=en_US,说明linux系统的默认语言是英文。然后进行下一步:

    (2)输入:vi ~/.bash_profile,在其中添加如下内容:

    [在这个地方我改了好几遍, 最终这个管用了]

    export LC_ALL=en_US.UTF-8
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8

    (3)在命令行执行如下命令:source ~/.bash_profile

    locale命令查询的结果

    (4)问题解决

    如图:

    ---------------------------------------------------------------------------------------------------

    但这里有个小插曲

    再重启阿里云数据库的后网站瘫痪了,重新搭建的过程问题不断

    在重新部署的时候有一些小的细节要注意

    在使用守护进程的时候一定要先删掉nohup.out文件

    顺序如下:

    一、touch application.properties  //新建文件

    二、先删掉nohup.out文件

    三、nohup java -jar -Dspring.config.location=./application.properties online_xdclass-0.0.1-SNAPSHOT.jar &  //守护进程方式读取本地的配置文件

    四、tail -f nohup.out

    在这之前报了很多错误

    譬如:

    通过看全部启动日志

    java -jar  -Dspring.config.location=./application.properties online_xdclass-0.0.1-SNAPSHOT.jar 

    主要错误如下:

    2020-07-01 13:25:56.826 WARN 23105---[main]ConfigServletWebServerApplicationContext:上下文初始化期间遇到异常-取消刷新尝试:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“userController”的bean时出错:通过字段表示的未满足依赖项“userService”;嵌套异常为org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“userServiceImpl”的bean时出错:通过字段“userMapper”表示的不满足的依赖项;嵌套异常是org.springframework.beans.factory.UnsatisfiedDependencyException:创建URL中定义的名为“userMapper”的bean时出错[jar:文件:/usr/local/software/api/online_xdclass-0.0.1-快照.jar!/BOOT-INF/类!/net/xdclass/online xdclass/映射器/用户映射器.class]:通过bean属性“sqlSessionFactory”表示的不满足依赖关系;嵌套异常是org.springframework.beans.factory.Bean例外:创建在类路径resource[org/mybatis/spring/boot/autoconfigure/Myba中定义的名为“sqlSessionFactory”的bean时出错组织自动配置.class]:通过工厂方法实例化Bean失败;嵌套异常为org.springframework.beans.Bean实例异常:未能实例化[org.apache.ibatis网站.会话.SqlSessionFactory]:工厂方法“sqlSessionFactory”引发异常;嵌套异常

    本地测试没问题,让人摸不清头脑

    总之:我是这样弄好了,也许每个人语句的问题不一样

  • 相关阅读:
    windows下使用curl命令,以及常用curl命令
    使用 C# 下载文件的十八般武艺
    初闻不知曲中意,再听已是曲中人
    从线性回归走进机器学习
    自定义Vue&Element组件,实现用户选择和显示
    ARP协议原理——地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址,ARP整个完整交互过程仅需要两个包,一问一答即可搞定
    SSH加密隧道流量攻击与检测技术——这玩意和思科加密流量检测没有本质区别啊,可借鉴CNN图像
    bt2——基于telegram的C2
    通过gmail进行C2控制——看了下源码,本质上和dropbox c2架构一样,都是去轮训邮件,将c2攻击的东西以邮件形式发送,结果也发到邮箱里
    DropboxC2 工具原理总结——就是通过dropbox文件来间接做c2控制和交互。
  • 原文地址:https://www.cnblogs.com/ooo888ooo/p/13217090.html
Copyright © 2020-2023  润新知