在前端,mysql没问题的前提下,后端乱码,怎么设置IDEA的时区格式

IDEA时区怎么设置, java后端查询乱码,
提示(跟时区有关系)
我认为的可能性,
前端没问题,mysql时区没问题

1.在外网下载的IDEA,导致时区非中国格式,

img

mysql时区

img

ChatGPT给出的解决方案,但idea没有所需的配置

img

ChatGPT给出的结论查找:

                                      (1)

img

                                      (2)

img

遇到这种情况,只能在中国IDEA官网重新下载,安装,有的IDEA版本可以调整,有的不行,重装解决一切问题

settings里面搜charset,设置正确的字符集,与前端、db保持一致

这个和时区没关系吧,是你前端、后端、数据库的字符集不一致导致的

  • 这篇博客: IDEA执行mysql的逆向工程中的 IDEA执行mysql的逆向工程步骤: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1.把项目相应的依赖导入:

    <!-- 添加mybatis依赖 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis.version}</version>
    </dependency>
    <!-- 添加mybatis/spring整合包依赖 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.0</version>
    </dependency>
    <!-- 添加mysql驱动依赖 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql-driver.version}</version>
    </dependency>

    在build中写入插件

    <!--mybatis逆向工程-->
    <plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.3.2</version>
      <configuration>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
      </configuration>
    </plugin>
    2.编写generatorConfig.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
            PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
            "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    
            <generatorConfiguration>
            <!-- 制度MySQL驱动包的路径,别放在中文路径xia -->
               <classPathEntry location="E:\dormitory\dormitory_maven\mysql\mysql-connector-java\5.1.38\mysql-connector-java-5.1.38.jar"/>
               <context id="context1">
                  <commentGenerator>
                  <!--是否取消注销  -->
                  <property name="suppressAllComments" value="true"/>
                  </commentGenerator>
                  <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mydb?characterEncoding=utf-8" userId="root" password="123456">
                  </jdbcConnection>
                     <!-- 所生成的实体类的位置默认资源包src -->
                     <javaModelGenerator targetPackage="st.personal.entity" targetProject="src/main/java"></javaModelGenerator>
                     <!--所生成的sqlMapper的映射文件位置,默认资源包src  -->
                     <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"></sqlMapGenerator>
                     <!--配置到接口生成信息  -->
                     <javaClientGenerator targetPackage="st.personal.dao" type="XMLMAPPER" targetProject="src/main/java"></javaClientGenerator>
                     
                     <!--为表生成代码tableName:表名,schema:不用填写  -->
                     <table tableName="userinfo" enableCountByExample="false" enableSelectByExample="false"
                               enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false"></table>
                   <table tableName="collection" enableCountByExample="false" enableSelectByExample="false"
                               enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false"></table>
               </context>
            </generatorConfiguration>

    写好配置文件之后,配置运行:点击edit configurations

    打开之后在左边的+号添加maven-->填写配置信息:command line(命令行):

    mybatis-generator:generate -e

    配置完后点击OK,再运行该配置文件就可以了。


  • 以下回答由chatgpt基于相关博客总结生成:

    针对您遇到的问题,可能是由于IDEA的时区设置不正确导致的。解决方案如下:

    1. 打开IDEA,点击菜单栏File->Settings->Appearance & Behavior->Date & Time
    2. 将Time zone设置为Asia/Shanghai(中国标准时区)
    3. 确保后端的查询语句中指定了正确的时区,可以通过在查询语句中加上"SET time_zone='Asia/Shanghai'"的方式来指定时区
    4. 如果问题还未解决,可以提供更多详细的信息,例如您正在使用的操作系统和IDEA的版本等,以便更深入地排查问题。

    以下是代码演示如何在查询语句中指定时区:

    Statement statement = connection.createStatement();
    String sql = "SET time_zone='Asia/Shanghai';SELECT * FROM table";
    ResultSet rs = statement.executeQuery(sql);
    

chatGPT又在胡扯了,别理他,你只要保证后端字符集正确就行。

先 看下你的数据库URL上是否添加了 ?useUnicode=true&characterEncoding=UTF-8
然后再看下你的idea控制台的字符设置 ,在 File -> Setting -> Editor -> General -> Console 中