Иероглифы/Каракули/Крокозябры вместо русских букв при использовании "testcontainers:postgresql"

При вызове теста, используя "org.testcontainers:postgresql" который поднимает базу через liquibase, английские буквы выдает нормально, но русские в таком виде:

Actual   :Book(id=1, name=Капитанская дочка, image=null, author=А.С.Пушкин...

Сам тест:

import lombok.RequiredArgsConstructor;
import org.andrey.database.entity.Book;
import org.andrey.database.repository.BookRepository;
import org.andrey.integration.service.IntegrationTestBase;
import org.junit.jupiter.api.Test;

import java.util.Optional;

import static org.junit.jupiter.api.Assertions.*;

@RequiredArgsConstructor
class BookRepositoryTest extends IntegrationTestBase {

    private final BookRepository bookRepository;

    @Test
    void checkFindById() {
        Book expectedBook = Book.builder()
                .id(1L)
                .name("Капитанская дочка")
                .author("А.С.Пушкин")
                .genre("Роман")
                .yearOfPublish(1836)
                .pages(320)
                .pricePaper(500)
                .priceDigital(300)
                .inStock(18)
                .build();

        Optional<Book> optionalBook = bookRepository.findById(1L);
        assertTrue(optionalBook.isPresent());
        System.out.println(optionalBook.get().getAuthor());
        optionalBook.ifPresent(book -> assertEquals(expectedBook, book));
    }
}

Место запуска контейнера:

import org.andrey.integration.annotation.IT;
import org.junit.jupiter.api.BeforeAll;
import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource;
import org.springframework.test.context.jdbc.Sql;
import org.testcontainers.containers.PostgreSQLContainer;

@IT
@Sql({
        "classpath:sql/data.sql"
})
public abstract class IntegrationTestBase {

    private static final PostgreSQLContainer<?> container = new PostgreSQLContainer<>("postgres:16.2");

    @BeforeAll
    static void runContainer() {
        container
//                .withEnv("LANG", "ru_RU.UTF-8")
//                .withEnv("LANGUAGE", "ru_RU:ru")
//                .withEnv("LC_LANG", "ru_RU.UTF-8")
//                .withEnv("LC_ALL", "ru_RU.UTF-8")
                .start();
    }

    @DynamicPropertySource
    static void postgresProperties(DynamicPropertyRegistry registry) {
        registry.add("spring.datasource.url", container::getJdbcUrl);
    }
}

Попытался задать русскую кодировку при старте контейнера, но выдает другую ошибку:

org.testcontainers.containers.ContainerLaunchException: Timed out waiting for log output matching '.*database system is ready to accept connections.*\s'

Контейнеры поднимаются успешно: введите сюда описание изображения

Inspect тестового контейнера:

"Env": [
            "POSTGRES_USER=test",
            "POSTGRES_PASSWORD=test",
            "POSTGRES_DB=test",
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/16/bin",
            "GOSU_VERSION=1.17",
            "LANG=en_US.utf8",
            "PG_MAJOR=16",
            "PG_VERSION=16.2-1.pgdg120+2",
            "PGDATA=/var/lib/postgresql/data"
        ],
        "Cmd": [
            "postgres",
            "-c",
            "fsync=off"
        ]

В основной бд русский текст в таблицах отображается корректно, хотя там тоже стоит "LANG=en_US.utf8".

build.gradle:

`plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.4'
    id 'io.freefair.lombok' version '8.6'
}

apply plugin: 'io.spring.dependency-management'
apply from: 'version.gradle'

group = 'org.andrey'
version = '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.postgresql:postgresql'
    implementation 'org.liquibase:liquibase-core'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation "org.testcontainers:postgresql:${versions.testcontainers}"
}

test {
    useJUnitPlatform()
}

wrapper {
    gradleVersion '7.6'
}`

Ответы (0 шт):