从问题的主题可以清楚地看出,这是我的技术堆栈 . 我有编码俄语字符的问题 .

它是我的控制器:

@RestController
public class ProductController {

    @Autowired
    private ProductService productService;

    @RequestMapping("/Product/ByQuery")
    public List getProductsByQuery(@RequestHeader(name = "query" , required = false) String query) {
        System.out.println(new String(query.getBytes(),StandardCharsets.ISO_8859_1));
        return productService.findByQuery(new String(query.getBytes(),StandardCharsets.ISO_8859_1));
    }
}

我的服务:

public class ProductServiceImpl implements ProductService {
        @Autowired
        private ProductRepository productRepository;
  @Override
    public List<Product> findByQuery(String query) {
        List<DataModel.Product> productList = productRepository.findDistinctByNameContainingIgnoreCaseOrCategoryContainingIgnoreCaseOrManufacturerContainingIgnoreCaseOrInformationValueContainingIgnoreCase(query,query,query,query);
        List<Product> resultProducts = new ArrayList<>();
        ModelMapper modelMapper = new ModelMapper();
        for (int i = 0; i < productList.size(); i++) {
            int like = 0;
            int dislike = 0;

            for (Rating rating : productList.get(i).getRating()) {
                if (rating.getType().equals("Like")) {
                    like += 1;
                } else {
                    dislike += 1;
                }
            }
            resultProducts.add(modelMapper.map(productList.get(i), Product.class));
            resultProducts.get(i).setCommentCnt(productList.get(i).getComment().size());
            resultProducts.get(i).setLike(like);
            resultProducts.get(i).setDislike(dislike);
            resultProducts.get(i).setImage(productList.get(i).getImage().get(0).getUrl());
        }
        return resultProducts;
    }
        }

库:

@Repository
public interface ProductRepository extends JpaRepository<Product,Long> {
    List<Product> findDistinctByNameContainingIgnoreCaseOrCategoryContainingIgnoreCaseOrManufacturerContainingIgnoreCaseOrInformationValueContainingIgnoreCase(String name,String category, String manufacturer, String value);
}

应用:

@SpringBootApplication(scanBasePackages = {"Service", "repository", "controller"})
@EntityScan("DataModel")
@EnableJpaRepositories(basePackages = "repository")
public class CloudliquidApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        ApplicationContext ctx = SpringApplication.run(CloudliquidApplication.class, args);
        System.out.println("Let's inspect the beans provided by Spring Boot:");

        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        for (String beanName : beanNames) {
            System.out.println(beanName);
        }
    }
    @Bean
    public ProductService productService() {
        return new ProductServiceImpl();
    }

    @Bean
    public TomcatServletWebServerFactory tomcatFactory() {
        return new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                ((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
            }
        };
    }
}

property :

spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true

POM:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.lopamoko</groupId>
    <artifactId>cloudliquid</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>cloudliquid</name>
    <description>Demo project for Spring Boot</description>

    <pluginRepositories>
        <pluginRepository>
            <id>maven-annotation-plugin-repo</id>
            <url>http://maven-annotation-plugin.googlecode.com/svn/trunk/mavenrepo</url>
        </pluginRepository>
    </pluginRepositories>


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>

        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.modelmapper</groupId>
            <artifactId>modelmapper</artifactId>
            <version>0.7.4</version>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.2.5</version>
        </dependency>




    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

我需要做什么才能最终开始感知俄罗斯人物?在搬到 Spring 天之前,它帮助了我 - 新的String(source.getBytes(),StandardCharsets.UTF-8)) . 但在移动后它停止工作(以任何格式) .

你还应该尝试什么?如果有的话,我从Android(Retrofit)传输数据 .