Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java错误地存储了西班牙语字符_Java_Mysql - Fatal编程技术网

Java错误地存储了西班牙语字符

Java错误地存储了西班牙语字符,java,mysql,Java,Mysql,我有一个Java应用程序,它正在加载一个csv文件,其中包含一些我需要导入MySQL数据库的内容 问题在于,对于像尼奥雷奥这样的一些西班牙语内容,应用程序会返回:EL ESPA�OL 数据库默认集合是latin1-defaultcollection我也尝试将其更改为其他集合,如utf8,但结果总是一样的 导入文件的方式是: BufferedReader br = new BufferedReader( new InputStreamReader(new F

我有一个Java应用程序,它正在加载一个csv文件,其中包含一些我需要导入MySQL数据库的内容

问题在于,对于像尼奥雷奥这样的一些西班牙语内容,应用程序会返回:
EL ESPA�OL

数据库默认集合是
latin1-defaultcollection
我也尝试将其更改为其他集合,如utf8,但结果总是一样的

导入文件的方式是:

BufferedReader br = new BufferedReader(
                    new InputStreamReader(new FileInputStream(file)));
            System.out.println("*** Importing file **** " + file);
            try {
                String line;
                int i = 0;
                while ((line = br.readLine()) != null) {
                    final String[] parts = line.split(",");
                    if(parts != null && parts.length > 0 && !parts[0].equalsIgnoreCase("")){
                        System.out.println("Line: " + i++ + " Text: " + line);
...
...
当我向后端发出请求时,我发送了以下标题:

accept: application/json
accept-encoding: gzip, deflate, br
accept-language: es-419,es;q=0.9,en;q=0.8
content-type: application/json
尝试的事项:

重新创建/修改表格排序规则 默认排序规则只是一个默认值。除非指定排序规则,否则新表将采用当前的默认值

如果不重新创建或修改现有表,它们将保持用
latin1
编码

检查您的JRE代码页 你在Windows上运行吗?您的JRE默认代码页设置为什么

我已经有一段时间没有接触Java了,但我过去在使用多字节字符时遇到了可怕的问题,因为我会在Linux上开发,并将代码传输到Windows和。。。突然,时髦� 到处都是chars

这可能在某些时候发生了变化,但在Linux和OSX上,JRE以默认编码UTF-8开始。。在Windows上,它使用系统代码页。这对我来说是cp1252——显然不是国际性的

请尝试将此系统属性打印到控制台,以查看您是否遇到这种情况

System.getProperty(“file.encoding”)
您可以像往常一样,在启动时使用
-D
参数更改此值,例如

java-Dfile.encoding=“UTF-8”-jar myJar.jar
。。。或者,正如@ControlAltDel所说,当您在流API中有选项时,请始终指定编码。

尝试使用新的InputStreamReader(新文件InputStream(file),“utf-8”);