当前位置: 首页 > 知识库问答 >
问题:

字符串值不正确-JOOQ-Java

钮边浩
2023-03-14

我试图上传csv到我的mysql数据库使用jooq,但我得到以下错误。我在网上尝试了各种建议的解决方案,但都没能解决

Error: org.jooq.exception.DataAccessException: SQL [insert into `Test`.`testtable` <mydata> Incorrect string value: '\xEF\xBF\xBD15 ...' for column 'colum_Name' at row 1

我如何将csv上传到jooq

create.loadInto(Tables.TableName)
                .onErrorIgnore()
                .loadCSV(new File("/tmp/uploaded-files/" + fileName), "UTF-8").<fields>.execute();

我确保文件在utf-8中,但是当有UTF-8字符记录时,无法保存在DB中并抛出上述错误。我确保使用

file -i <filename>

前端ajax:

$.ajax({
    type: "POST",
    enctype: 'multipart/form-data',
    url: fileUploadUrl,
    data: dataforFileUpload,
    processData: false,
    contentType: false,
    cache: false,
    timeout: 600000,
    success: function (message) {
        console.log(message);
        alert(message);
        console.log("upload done "+ new Date());

    },
    error: function (e) {
        console.log("ERROR : ", e.responseText);
        alert("ERROR : "+  e.responseText);

    }
});

我正在通过java rest从前端读取文件

InputStream inputStream = listingFilePart.getBody(InputStream.class, null);

并在传递给jooq之前在本地系统中递归写入文件

PrintWriter fop = new PrintWriter(new OutputStreamWriter(new FileOutputStream(file, true), StandardCharsets.UTF_8));

我将DB设置为接受utf-8,并进行了验证

共有1个答案

姚信鸥
2023-03-14

我发现了问题。问题在于ajax调用。我需要发送带有enctype的字符集

$.ajax({
    type: "POST",
    enctype: 'multipart/form-data;charset=UTF-8',
    url: fileUploadUrl,
    data: dataforFileUpload,
    processData: false,
    contentType: false,
    cache: false,
    timeout: 600000,
    success: function (message) {
        console.log(message);
        alert(message);
        console.log("upload done "+ new Date());

    },
    error: function (e) {
        console.log("ERROR : ", e.responseText);
        alert("ERROR : "+  e.responseText);

    }
});
 类似资料:
  • 我有一个在生产模式下运行的rails应用程序,但是今天当一个用户试图保存记录时突然出现了这个错误。 谢谢

  • 在尝试向列添加一些内容后,我得到了 问题出在哪里?

  • 问题内容: 尝试将first_name,last_name保存到Django的auth_user模型时,出现奇怪的错误消息。 失败的例子 成功的例子 MySQL设置 表字符集和排序规则 表auth_user具有utf-8字符集,并带有utf8_general_ci排序规则。 UPDATE命令的结果 使用UPDATE命令将上述值更新到auth_user表时,它没有引发任何错误。 PostgreSQL

  • 我不熟悉JOOQ,使用的是JOOQ的最新版本(3.10.5)。我只是将其用作SQL生成器,而不是对任何数据库执行它。 我使用 当我试图将任意字符串“CC_”与限定字段名称字段(“TBL.[列名称]”)合并时,结果字段就像 然后,当我使用getSQL()时,我得到了如下结果 有人能告诉我哪里出了问题,为什么连接的字符串被替换为?。

  • 我正在使用HttpPost向服务器发送一个字符串。这个字符串是一个JSONObject,我之前已经将其转换为字符串,到目前为止,一切都正常工作。。。发送内容类型必须为“application/json”。 要发送它,将我的String转换为StringEntity并添加到httpPost.setEntity(my_string)...问题是服务器告诉我不识别数据(准备接收转换为String的JSO

  • 问题内容: 我正在寻找一个正则表达式来匹配Java源代码中的字符串文字。 可能吗? 我的意图是用其他东西替换另一个字符串中的所有字符串。使用: 这样的事情。 问题答案: 好。那么,您想要在字符串中搜索以双引号开头和结尾的一系列字符吗? 注意非贪婪模式。