Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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
PHP Sax解析器和UTF-8_Php_Utf 8_Saxparser - Fatal编程技术网

PHP Sax解析器和UTF-8

PHP Sax解析器和UTF-8,php,utf-8,saxparser,Php,Utf 8,Saxparser,不幸的是,我在使用php sax解析器和utf-8编码时遇到了一些问题 本案: 我有一个用utf-8编码的xml文件。使用标准php sax解析器解析该文件。数据存储在一些容器对象中,并插入到mysql数据库中。不幸的是,数据库中的一些字符看起来很奇怪(大部分是德语的umlaute)。例如,古特尔看起来像古特尔 以下代码片段显示了如何实例化解析器: $saxParser = xml_parser_create("UTF-8"); 这是否足以解析utf-8文件?如果是,我缺少什么?插入时使用一些

不幸的是,我在使用php sax解析器和utf-8编码时遇到了一些问题

本案:

我有一个用utf-8编码的xml文件。使用标准php sax解析器解析该文件。数据存储在一些容器对象中,并插入到mysql数据库中。不幸的是,数据库中的一些字符看起来很奇怪(大部分是德语的umlaute)。例如,古特尔看起来像古特尔

以下代码片段显示了如何实例化解析器:

$saxParser = xml_parser_create("UTF-8");
这是否足以解析utf-8文件?如果是,我缺少什么?插入时使用一些特殊的数据库内容


提前感谢。

逐步检查编码以查找无效代码:

  • 打印从XML检索的值
  • 打印出您构建的SQL语句
  • 打印值时,请确保浏览器以正确的编码读取输出

    您必须确保每个组件使用正确的编码:

    PHP脚本

    保存PHP时,将编码设置为UTF-8,不使用BOM,因为这可能会导致问题。仅在使用UTF-8字符串时使用

    XML文件

    XML文件以
    文件正确保存,编码设置为UTF-8

    SQL列(排序规则)

    MySQL服务器与PHP脚本之间的通信

    打开与MySQL服务器的连接后立即运行此命令:

    SET NAMES 'UTF8'
    
    SET NAMES指示客户端将使用哪个字符集发送SQL 将语句发送到服务器。


    逐步检查编码以查找无效代码:

  • 打印从XML检索的值
  • 打印出您构建的SQL语句
  • 打印值时,请确保浏览器以正确的编码读取输出

    您必须确保每个组件使用正确的编码:

    PHP脚本

    保存PHP时,将编码设置为UTF-8,不使用BOM,因为这可能会导致问题。仅在使用UTF-8字符串时使用

    XML文件

    XML文件以
    文件正确保存,编码设置为UTF-8

    SQL列(排序规则)

    MySQL服务器与PHP脚本之间的通信

    打开与MySQL服务器的连接后立即运行此命令:

    SET NAMES 'UTF8'
    
    SET NAMES指示客户端将使用哪个字符集发送SQL 将语句发送到服务器。


    您的数据库文本列有哪些列?您是否使用“set NAMES'UTF8'”将MySQL编码设置为UTF-8?@ZombieHunter我的排序规则是UTF8\u general\u ci您的数据库文本列有哪些列?您是否已使用“set NAMES'UTF8'”将MySQL编码设置为UTF-8?@ZombieHunter我的排序规则为UTF8\u general\u cit感谢您,我可能发现这些语句的编码不正确。“设置名称‘UTF8’”修复了该问题。非常感谢!多亏了你,我才发现这些语句编码不正确。“设置名称‘UTF8’”修复了该问题。非常感谢!