当前位置: 首页 > 面试题库 >

重音字符在PHP中破坏了json_encode()

简宏义
2023-03-14
问题内容

我有一个数组,其中一个键包含一些HTML代码。我在json_encoding此数组以供返回。我最近注意到,如果html包含特殊字符(即:viraga),则json_encode()返回“
null”。

如果有特殊的重音字符,我如何才能使json_encode()不返回’null’?


问题答案:

json_encode()假定文本采用UTF-8编码。如果输入看起来像格式不正确的UTF-8,则返回nulljson_encode()上班的唯一方法是在UTF-8中提供输入(无论如何您都应该使用它)。

而且,正如Zathrus Writer在评论中所说,实际的PHP源代码本身也可能也应采用UTF-8编码,以防止出现细微的错误。



 类似资料:
  • 演示 该网站最初有一些有限的文本,和大量复杂的图形,并在所有5个浏览器上呈现良好。我添加了更多的文本,但现在在Safari中无法使用。我认为转换可能更糟--试着缩放jsfiddle,您会看到人工制品的出现和消失取决于缩放。 有什么想法吗?Safari是不是刚刚坏了?

  • 问题内容: 环境:linux x64,编译器gcc 4.x 项目具有以下结构: 在程序结束时,“ sobj”被破坏两次。这种行为是可以预期的,但是在相同的内存地址(即在析构函数中使用相同的“ this”)会被破坏两次,结果是存在双重破坏问题。我认为这是由于某些符号重叠造成的。 该冲突有什么解决方案?也许一些链接选项? 这是测试用例: main_exe.cpp static_lib.h static

  • 我必须编写一个小程序来删除作为输入的字符串中的重音。我还必须创建一个函数,将每个带重音的字符替换为相应的不带重音的字符,我有一个循环,为main中的每个字符调用该函数: 问题是,如果我在main中提供字符串“é”作为输入,则该字符串被视为大小为2的字符串(参见下面的示例),并且上面的函数被调用两次而不是一次。此外,作为函数输入的char不是正确的。我想我在函数中遇到了相同的大小问题。这个重音不应该

  • 问题内容: 我听过关于此主题的不同回答,那么销毁PHP会话的肯定方法是什么? 在最简单的情况下,这是否足以真正终止用户与服务器之间的会话? 问题答案: 要销毁会话,您应该采取以下步骤: 删除会话数据 使会话ID无效 为此,我将使用以下代码: 为了确保会话ID无效,您应该只允许脚本启动的会话ID。因此,设置一个标志并检查它是否被设置: 此外,您可以使用此时间戳定期交换会话ID,以缩短其寿命:

  • 我有一个非常奇怪的问题。 当我在浏览器中打开下面的脚本并执行它时,一切正常。即使我在命令行中调用脚本,也会得到预期的结果。 但是,如果在后台作业中运行脚本,脚本将在“preg_match”函数中中止,而不会出现任何错误。我在任何地方都没有关于此的错误消息,无论是在日志中还是其他任何地方。我还检查了函数是否存在,它是否存在。 脚本似乎只是在preg_匹配时中止,并且没有显示任何关于可能错误的消息。所

  • 问题内容: 我正在尝试从PHP字符串中的字符中删除重音符号,作为使字符串在URL中可用的第一步。 我正在使用以下代码: 我期望的输出将是这样的: 但是,不是将重音字符音译,而是将它们替换为问号: 我在网上可以找到的所有内容都表明,设置语言环境将解决此问题,但是我已经这样做了。我已经检查了以下详细信息: 服务器支持我设置的语言环境(包含在产生的列表中) 服务器的iconv版本(包含在产生的列表中)支