PHP printf没有打印,simplexml_load_string没有解析

The*_*man -5 php printf simplexml

我有一些不会打印的数据....

echo工作,但不是printf

字符串中有数据,simplexml_load_string也不会解析字符串.

有一些二进制或不可见的字符,我看不到,无法获得序数值导致printf失败以及PHP中的大多数其他字符串函数.

显然这是一个编码问题,但是,我不知道如何找出它是什么,所以我可以正确编码/解码它.

$string = getStringFromDatabase();
printf($string);
Run Code Online (Sandbox Code Playgroud)

...

Nothing is displayed
Run Code Online (Sandbox Code Playgroud)

...

No errors, No Warnings, No Nothing
Run Code Online (Sandbox Code Playgroud)

显然那里有数据,我知道如果我循环遍历每一个字符,那么,我不会去那里.

[更新]这很奇怪,因为序数值超出了典型的ASCII范围.

ord($ buffer [$ i])= 1610

它是DLE和LF角色的组合.不知道它是如何到达那里或为什么.或者它应该是什么,任何一方的数据都是有效的,而且这个位置很奇怪.

想想<在这里冒犯char> 0,000

Pet*_*háč 5

printf的定义:

int printf  ( string $format  [, mixed $args  [, mixed $...  ]] )
Run Code Online (Sandbox Code Playgroud)

您的问题不仅仅是因为您将字符串作为$格式传递?你不需要简单地使用print或提供printf一个$format字符串AND $string