gpt4 book ai didi

java - datajpatest + springframework 测试Sql编码特殊字符在Windows上失败

转载 作者:行者123 更新时间:2023-11-28 21:18:07 24 4
gpt4 key购买 nike

在 Windows (+ Maven) 上,我对 Métro 词的 é 有疑问。我的 sql 文件是用 UTF-8 编码的。我在 Unix 服务器上确实遇到了这个问题。

我的 Maven 错误:

expected:<M[é]tro Ligne 6, station...> but was:<M[é]tro Ligne 6, station...>

我的 JUnit 代码:

@RunWith(SpringRunner.class)
@DataJpaTest
@ActiveProfiles("test")
public class MyRepositoryTest {

@Autowired
private MyRepository myRepository;

@Test
@Sql("/data/myRepositoryTest.sql")
public void testFindById() {
Optional<My> my= myRepository.findById(99999);
assertTrue(my.isPresent());
assertEquals("Métro Ligne 6, station Bel-Air", my.get().getItinerary());
}

}

我的sql文件:

INSERT INTO MY(ID, NAME, CODE, ITINERARY)
VALUES (99999, 'foo', 'abc', 'Métro Ligne 6, station Bel-Air');

最佳答案

默认编码取自操作系统,因此存在问题。

像这样设置SQL文件编码:

@Sql(value = "/data/myRepositoryTest.sql", config = @SqlConfig(encoding = "utf-8"))

关于java - datajpatest + springframework 测试Sql编码特殊字符在Windows上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55136787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com