Warum gibt der QR-Generator im generierten QR-Bild nicht die richtige URL an?

Ich benutze den QR Generator und benutze dafür die Google API. Ich erstelle einen QR-Code, der eine URL enthält, oder wir können sagen, dass im QR-Code ein Link zu einer Website enthalten ist. Der Link ist korrekt, wenn ich ihn drucke. Das Problem ist jedoch, dass der Link nicht korrekt ist, wenn ich ihn an den QR-Generator weitergebe. Der richtige Link ist so. http: //localhost/crs/web/index.php/birthPublicSearch/birthCertificate/view/cert/B/MTc5OQ%3D%3). Aber im QR-Code Die Zeichen nach / MTC5OQ werden im Link nicht angezeigt, was bedeutet, dass% 3D% 3D im QR-Bild nicht angezeigt wird. Kann mir jemand dabei helfen. Unten ist mein Code. Das andere Problem ist auch, dass die Schrägstriche in der URL auf% 2F geändert werden und die URL nicht geöffnet wird und eine Dankesnachricht für die Verwendung von Neo Reader angezeigt wird. Wie kann ich es lösen.

<?php
class QRGenerator { 
protected $size; 
protected $data; 
protected $encoding; 
protected $errorCorrectionLevel; 
protected $marginInRows;
protected $debug; 

public function __construct($data,$size='100',$encoding='UTF-8',$errorCorrectionLevel='L',$marginInRows=4,$debug=false) { 

    $this->data=urlencode($data); 
    $this->size=100;
    $this->encoding=($encoding == 'Shift_JIS' || $encoding == 'ISO-8859-1' || $encoding == 'UTF-8') ? $encoding : 'UTF-8'; 
    $this->errorCorrectionLevel=($errorCorrectionLevel == 'L' || $errorCorrectionLevel == 'M' || $errorCorrectionLevel == 'Q' || $errorCorrectionLevel == 'H') ?  $errorCorrectionLevel : 'L';
    $this->marginInRows=($marginInRows>0 && $marginInRows<10) ? $marginInRows:4; 
    $this->debug = ($debug==true)? true:false;     
} 
public function generate(){ 

    $QRLink = "https://chart.googleapis.com/chart?cht=qr&chs=".$this->size."x".$this->size.                 
               "&chl=" . $this->data .  
               "&choe=" . $this->encoding . 
               "&chld=" . $this->errorCorrectionLevel . "|" . $this->marginInRows; 
if ($this->debug) echo $QRLink;          
return $QRLink;} } ?>

Und der TD, in dem ich den QR-Code drucke, lautet wie folgt:

<td align="center" valign="top">
    <div style="float: left; margin-left: -230px; margin-top: 34px; padding-right: 20px;">
     <script type="text/javascript">                                                                            
       (function() {
         var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
          po.src = 'https://apis.google.com/js/plusone.js';
          var s = document.getElementsByTagName('script')[0];     
          s.parentNode.insertBefore(po, s);
     });
      </script>
  </div>                                                   
<?php


$unique_value = base64_encode($birhtId);// Unique Value is MTc5OQ

$data='localhost/web/index.php/birthPublicSearch/birthCertificate/view/cert/B/'.$unique_value.'%3D%3D';
$size='200';
$ex1 = new QRGenerator($data,$size); 
$img1 = "<img src=".$ex1->generate().">";
$content ='<table>
    <tr>
         <td colspan="2">'.$img1.'</td>
    </tr>                                                                     
  </table>';                                                         
    print_r($content);
?>
</td>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage