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

如何在输入SQL之前从JSON文件中清除“emojis”

汪同
2023-03-14

我从JSON文件中获取文本字段并将它们放入MySQL数据库。例如,SQL不关心表情符号代码\xF0\x9F\x98\x81。当尝试将此数据插入行时,它会显示“不正确的字符串值”。

我在这里有点不知所云,但我认为这是表情符号的UTF-8代码,在这里是笑脸。

我正在使用一个基于java的ETL客户端(Pentaho的Spoon)获取JSON数据并将其传递给MySQL数据库。

问题是,我不知道如何编写代码来清理这个问题。有了Pentaho,我可以使用Java或javascript来尝试修复这个问题。

浏览器中的JSON文件似乎呈现表情符号。Pentaho似乎将它们全部写成问号(?)在输出文件中...然而,在内部,它似乎传递了实际的符号/UTF-8代码,因此出现了错误。

我很困惑,因为基于java的系统只是在传递UTF代码“\xF0\x9F\x98\x81”……对吗?

实际上不,不是,因为MySQL会很乐意插入字符串'\xF0\x9F\x98\x81'......到任何一行,它不会在一行中插入“笑脸”或小个子或任何东西......那么物理上传递的是什么,以及我如何用代码修复它?......有点困惑,也许我需要在这里阅读UTF-8。我觉得这里有两个级别的数据......

为了使事情更有趣,MS SQL似乎通过UTF-16代码引用符号(在尝试插入和随后出现错误时)。

问题是,我如何在java/javascript中引用这些数据并销毁表情符号?

共有1个答案

太叔涵亮
2023-03-14

好吧…很容易修复。。。

如果这对其他人有帮助。。。

我使用了在堆栈溢出上其他地方找到的自定义Java脚本代码。。。。

var new\u custom\u fields=自定义字段。替换(/([\uE000-\uF8FF]|\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDDFF])/g,“”)

我相信javascript是用UTF-16说话的,所以是的。这已经从Zendesk中的一些自由格式字段中删除了表情符号垃圾(遗憾的是,Zendesk不允许在票证字段中输入掩码,例如订单号)。

 类似资料:
  • 问题内容: 我在清理注释和已存在的sql文件中的空行时遇到问题。该文件有1万多行,因此无法手动清洁。 我有一些python脚本,但是我不知道如何处理多行插入内容中的注释。 代码: 它应该如何工作: 这应该清洗: 这应该保持原样: 问题答案: 尝试使用sqlparse模块。 更新的示例: 将注释保留在插入值内,并将注释保留在CREATE FUNCTION块内 。您可以进一步调整以调整行为: 输出:

  • 问题内容: 我已经看过一些关于这个的话题,但是它似乎并不能解决我的问题。我正在运行linux,当我使用raw_input()时,在每个之间都有一个暂停,它将获取我之前按下的数据,这是一个示例: 如果我在5秒钟内按任意键,然后按Enter,则另外两个原始输入将采用该输入。我希望能够刷新数据并提示用户。 谢谢。 问题答案: 对于Unix,您可以使用termios.tcflush termios.tcf

  • 问题内容: 我正在构建Codeigniter应用程序,并且正在尽最大努力防止SQL注入。我正在使用Active Record方法构造所有查询。我知道Active Record会自动清除输入内容,但是我想知道到底是什么程度?它只是转义所有引号,还是做更多呢?如何防止混淆的SQL注入或其他更高级的注入? 基本上,我正在寻找有关CI如何清理数据的深入说明。有人知道吗 问题答案: 完全像这样(对于MySQ

  • 问题内容: 我想清除表单中的文件输入。 我知道将源设置为相同的方法…但是该方法不会删除所选的文件路径。 注意 :我希望避免重新加载页面,重置表单或执行AJAX调用。 这可能吗? 问题答案: 如何删除该节点,创建一个具有相同名称的新节点?

  • 我的函数需要获取一个可以表示任何类型JSON对象的输入String,清理空字段并将其转换回String。 给定此输入JSON,我希望删除字段: 我试图与< code>Jackson和这篇文章合作,得到了这个: 然而,字段在输出中不断出现... 我错过了什么?

  • 问题内容: 有没有一种快速的方法来创建带有右侧图标的输入文本元素,以清除输入元素本身(如google搜索框)? 我环顾四周,但只发现了如何将图标作为输入元素的背景。是否有jQuery插件或其他工具? 我想要输入文本元素中的图标,例如: 问题答案: 将a添加到您的输入中 该支持相当不错,但在IE <10中不起作用 旧浏览器的可清除输入 如果您需要IE9支持,请采取以下解决方法 使用标准和一些HTML