zoukankan      html  css  js  c++  java
  • 几个常见的Laravel报错及解决方法

    报错:「Can’t swap PDO instance while within transaction」

    transactions >= 1) {
    throw new RuntimeException("Can't swap PDO instance while within transaction.
    ");
    }
    $this->pdo = $pdo;
    return $this;
    }
    ?>

    报错:「Cannot delete job : NOT_FOUND」


    几个常见的Laravel报错及解决方案

    报错:「No query results for model」

    bar = Bar::find($id);
    }
    public function handle()
    {
    // $this->bar
    }
    }
    ?> bar = Bar::onWriteConnection()->find($id);
    }
    public function handle()
    {
    // $this->bar
    }
    }
    ?> class)->findOrFail($value->id) : $value;
    }
    ?> id = $id;
    }
    public function handle()
    {
    $bar = Bar::onWriteConnection()->find($this->id);
    }
    }
    ?>

    PHP的DOM内部是utf8机制的,在loadHTML时,是通过检查字符中meta的charset来设置编码的,如果没有charset,就当iso8859进行处理了,而这种情况下进行saveXML时,输出来的却是utf8,所以就看到乱码了.

    这么说是不是还不太理解,举个例子:

    $xml = new DOMDocument(); @$xml->loadHTML('<div>我就是测试看看</div>'); $dom = new DOMXPath($xml); echo $dom->query('//div')->item(0)->saveXML();

    打开网页执行,你会发现输出乱码了,那如何解决这个问题呢?有两种方式.

    第一种:在loadHTML的时候指定编码,下面这段代码引用自php.net官方文档中的回复,代码如下:

    $doc = new DOMDocument(); $doc->loadHTML('<?xml encoding="UTF-8">' . $html); foreach ($doc->childNodes as $item) { if ($item->nodeType == XML_PI_NODE) { $doc->removeChild($item); // remove hack } } $doc->encoding = 'UTF-8'; // insert proper

    第二种方法:通过iconv对输出的字符重新转换,代码如下:

    echo iconv("UTF-8", "GB18030//TRANSLIT", $dom->saveXML($n) );

  • 相关阅读:
    学期总结
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    作业02
    c语言 学习笔记之二 选择题2
  • 原文地址:https://www.cnblogs.com/2881064178dinfeng/p/6203333.html
Copyright © 2011-2022 走看看