Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
Postgresql 识别文本中的隐藏字符_Postgresql_Character Encoding_Character_Removing Whitespace - Fatal编程技术网

Postgresql 识别文本中的隐藏字符

Postgresql 识别文本中的隐藏字符,postgresql,character-encoding,character,removing-whitespace,Postgresql,Character Encoding,Character,Removing Whitespace,我有一个ETL过程,定期从ODBC数据源提取代码,对其进行操作,并将其插入我的postgres数据库。此数据源中的一列经常包含奇数字符 在大多数情况下,我可以捕获并适当地转换所有字符,但我有一个字符存在于ODBC数据源中,无法放入postgres(该字符被截断后的所有文本),并且我很难识别该字符是什么 我甚至不能直接在这篇文章中插入一个角色的例子,因为它被删掉了:/我能得到的最接近的是textmate中角色的屏幕截图(我唯一能在其中看到角色的应用程序): 在1和0之间有一个菱形字符。当我的数据

我有一个ETL过程,定期从ODBC数据源提取代码,对其进行操作,并将其插入我的postgres数据库。此数据源中的一列经常包含奇数字符

在大多数情况下,我可以捕获并适当地转换所有字符,但我有一个字符存在于ODBC数据源中,无法放入postgres(该字符被截断后的所有文本),并且我很难识别该字符是什么

我甚至不能直接在这篇文章中插入一个角色的例子,因为它被删掉了:/我能得到的最接近的是textmate中角色的屏幕截图(我唯一能在其中看到角色的应用程序):

在1和0之间有一个菱形字符。当我的数据进来时,0之后的所有内容都被截断


有没有一种很好的方法来识别这个角色,这样我就可以找出一种剥离它的方法?

根据tripleee对原始问题帖子的评论:

为了识别这个字符,我抓取了文本的十六进制值,以识别有问题的违规字符的十六进制值

有很多方法可以做到这一点,但对我来说最快的方法是使用我调用的实用程序,以便将文本转储到其中。文本输入后,我突出显示该字符,它返回十六进制值“00”

更多的调查指向在C应用程序中用作行终止符的十六进制null值(考虑到我的项目的上下文,这是有意义的)

我已经将这个空值放入我的ETL过程中,这样它就可以用一个新的行进行切换,现在一切都是阳光和雏菊


再次感谢你的帮助

将其保存到文本文件并生成文件的十六进制转储。如果仍然不清楚,请将其添加到此处。“0之后的所有内容都被截断”,您的意思是在1之后吗?@tripleee,是的,对不起,我的意思是在1之后。这是个好主意。我试试看。@triplee,十六进制转储将字符显示为十六进制空值(00)。这让我向前迈进。你想回答这个问题,这样我就可以给你评分了吗?还有,谢谢!:)不用了,你可以自己回答,谢谢。