Mybatis +sql server 插人中文乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis +sql server 插人中文乱码相关的知识,希望对你有一定的参考价值。

要操作的字段为nvarchar, 数据库的字符集位cp1252. 使用sql脚本偛入中文时,需要在中文前加"N",否则未乱码"???",使用tomcat布署项目时,不需要额外的处理,能直接插入中文, 换成webphere时,插入中文为乱码“??”

程序和数据库换成统一的(utf-8或gbk)编码,这样才不会乱码! 参考技术A 这就是乱码,编码的问题,你把编码都换成UTF-8的编码看看追问

不是本地数据库做测试,历史遗留下来的数据库,不能改字符集。

追答

插入数据库乱码,绝对是编码的问题;我说的不是要你改数据库的字符集

追问

项目使用的编码都是utf-8.

Mybatis Generator for SQL Server

Mybatis Generator for SQL Server

<?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的驱动包的路径 千万别放中文路径下 -->
    <classPathEntry location="D:\Jr\sqljdbc4.jar" />
    <!-- 配置数据源和生成的代码所存放的位置 -->
    <context id="context1">
        <commentGenerator>
            <!-- 去除自动生成的注释 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
            connectionURL="jdbc:sqlserver://127.0.0.1:1433;databaseName=se; catalogName=se" userId="user" password="pass">  
        </jdbcConnection> 
        <!-- 所生成的实体类的位置默认资源包src -->
        <javaModelGenerator targetPackage="com.se.model" targetProject="T" />
        <!-- 所生成的sqlMap的影射文件的位置,默认资源包src -->
        <sqlMapGenerator targetPackage="com.se.mapper" targetProject="T" />
        <!-- 生成mapxml对应的client,也就是dao -->
        <javaClientGenerator targetPackage="com.se.dao" targetProject="T" type="XMLMAPPER" />

        <!--为哪些表生成代码 tableName:表名 schema:不用填写,其余属性是禁用例子查询的生成 -->
        <table tableName="Tbl" domainObjectName="Tbl"
            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false" >
        </table>
        

    </context>
</generatorConfiguration>

 

以上是关于Mybatis +sql server 插人中文乱码的主要内容,如果未能解决你的问题,请参考以下文章

mybatis 针对SQL Server 的 主键id生成策略

12.2 MyBatis动态SQL-多数据库支持与可拔插SQL脚本 -《SSM深入解析与项目实战》

spring Mybatis配置sql server数据库

Mybatis与SQL Server类型转换遇到的坑

在 WebSphere Application Server、log4j 中启用 MyBatis SQL 日志

在springboot 和 mybatis 项目中想要显示sql 语句进行调试