Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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_Php_Excel_Unicode_Encoding - Fatal编程技术网

Java 从字符串中删除无效字符

Java 从字符串中删除无效字符,java,php,excel,unicode,encoding,Java,Php,Excel,Unicode,Encoding,我使用php将数据保存到数据库中,并使用java将其导出 当我创建excel时,有些带有某些字符的行会导致问题 我用这个包裹 没有代码错误,但当我打开xlsx时,我看到了这一点 以下是字符:“\b”和“\u0001” 这是包含以下字符的我的数据库行 当我从db复制列并将其粘贴到inteliji时,我看到了这一点 有没有办法更改字符串编码以避免excel错误,或者在我将这些坏字符保存到数据库或导出到java时使用php删除这些坏字符?数据似乎包含不可打印的字符“标题开头”和“退格”,它

我使用php将数据保存到数据库中,并使用java将其导出

当我创建excel时,有些带有某些字符的行会导致问题

我用这个包裹

没有代码错误,但当我打开xlsx时,我看到了这一点

以下是字符:“\b”和“\u0001”

这是包含以下字符的我的数据库行

当我从db复制列并将其粘贴到inteliji时,我看到了这一点


有没有办法更改字符串编码以避免excel错误,或者在我将这些坏字符保存到数据库或导出到java时使用php删除这些坏字符?数据似乎包含不可打印的字符“标题开头”和“退格”,它们在常用字符集中有效。请看String.replaceAll(),替换为“”。这将删除这些字符。我让您自己构造一个简单的正则表达式来搜索它们。

您用于转换为Excel的库很可能无法处理ASCII以外的任何内容。对于你的问题“有没有办法改变字符串编码”。。不,因为您无法控制外部库。@我的意思是更改编码,或在将字符传递给库之前删除字符。您的数据中有中文字母。这意味着非ASCII字符。如果删除它们,则会丢失数据。。这不是一个额外的无害的退格、空格或换行符。问题是您使用的库无法解析您的真实数据。@如果我从字符串中删除“\b”,则库会正常解析中文字符,一切正常