php - 2 个相同的字符串显示不同的长度
php - 2 identical string showing different lengths
我在比较 2 个相同的字符串时遇到问题。第一个字符串是从数据库中检索的,另一个是硬编码的。
字符串是{ "name":"John", "age":30, "car":null }
.
我先 运行 这段代码,数据库字符串的长度为 79 个字符,硬编码字符串的长度为 39 个字符。
echo '<pre>';var_dump($json_data);echo '</pre>';
echo '<pre>';var_dump('{ "name":"John", "age":30, "car":null }');echo '</pre>';
经过一番搜索后,有人建议使用 bin2hex()
并使用它,我将其范围缩小到 "
字符。
用 "
替换数据库值并 运行 将以下代码输出
2671756f743b
用于数据库值,22
用于硬编码值。
echo bin2hex($json_data)."<br>";
echo bin2hex('"')."<br>";
使用 strcmp()
比较两个值的正确方法是什么,因为我将在其他代码中进行比较。
感谢@Mark Baker,我必须 html_entity_decode()
数据库值,现在两个值匹配。
有一个类似的问题,其中 2 个字符串看起来相同,设法通过以下方式找出其中一个字符串的问题。
json_encode()
字符串,这将导致 null
- 运行
json_last_error_msg()
得到任何编码错误。收到 格式错误的 UTF-8 字符,可能编码不正确
字符串上的 - 运行
utf8_encode()
修复了编码错误。
我在比较 2 个相同的字符串时遇到问题。第一个字符串是从数据库中检索的,另一个是硬编码的。
字符串是{ "name":"John", "age":30, "car":null }
.
我先 运行 这段代码,数据库字符串的长度为 79 个字符,硬编码字符串的长度为 39 个字符。
echo '<pre>';var_dump($json_data);echo '</pre>';
echo '<pre>';var_dump('{ "name":"John", "age":30, "car":null }');echo '</pre>';
经过一番搜索后,有人建议使用 bin2hex()
并使用它,我将其范围缩小到 "
字符。
用 "
替换数据库值并 运行 将以下代码输出
2671756f743b
用于数据库值,22
用于硬编码值。
echo bin2hex($json_data)."<br>";
echo bin2hex('"')."<br>";
使用 strcmp()
比较两个值的正确方法是什么,因为我将在其他代码中进行比较。
感谢@Mark Baker,我必须 html_entity_decode()
数据库值,现在两个值匹配。
有一个类似的问题,其中 2 个字符串看起来相同,设法通过以下方式找出其中一个字符串的问题。
json_encode()
字符串,这将导致 null- 运行
json_last_error_msg()
得到任何编码错误。收到 格式错误的 UTF-8 字符,可能编码不正确
字符串上的 - 运行
utf8_encode()
修复了编码错误。