2017-11-04 11 views
0

こんにちは誰も私のコードで行方不明の文字に問題があり、utf-8でいくつかのものを使用しようとしましたが、うまく機能しませんでした。サイト全体がPHP上にありますが、残りの部分はこの問題を抱えているこのページだけで正常に動作しています。の特殊文字は?

追加あなたのページヘッダーに HTML output..の文字セットを指定する必要が
<?php 
     $tipo =$_GET["tipo"]; 

     $conexao = mysqli_connect("127.0.0.1","root","","db_tcc") or die ("Não foi possível se conectar com o servidor."); 
     $varsql = "SELECT * FROM tb_guias WHERE TIPO=$tipo ORDER BY id ASC"; 
     $carregar_guias = mysqli_query($conexao, $varsql); 




     while ($linha = mysqli_fetch_array($carregar_guias)) 
     { 
     $titulo = $linha["TITULO"]; 
     $blob1 = $linha["IMG1"]; 
     $blob2 = $linha["IMG2"]; 
     $blob3 = $linha["IMG3"]; 
     $texto = $linha["TEXTO"]; 

     $img1 = imagecreatefromstring($blob1); 

     ob_start(); 
     imagejpeg($img1, null, 80); 
     $data1 = ob_get_contents(); 
     ob_end_clean(); 

     $img2 = imagecreatefromstring($blob2); 

     ob_start(); 
     imagejpeg($img2, null, 80); 
     $data2 = ob_get_contents(); 
     ob_end_clean(); 

     $img3 = imagecreatefromstring($blob3); 

     ob_start(); 
     imagejpeg($img3, null, 80); 
     $data3 = ob_get_contents(); 
     ob_end_clean(); 


     echo "<div class='loc'><table class='tablel'><tr><td colspan='3'>$titulo</td></tr><tr><td>"; 
     echo '<img src="data:image/jpg;base64,' . base64_encode($data1) . '" class="imag" />'; 
     echo"</td><td>"; 
     echo '<img src="data:image/jpg;base64,' . base64_encode($data2) . '" class="imag" />'; 
     echo"</td><td>"; 
     echo '<img src="data:image/jpg;base64,' . base64_encode($data3) . '" class="imag" />'; 
     echo "</td></tr><tr><td colspan='3'>$texto</td></tr></table></div>"; 
     echo "<br><hr><br>"; 

     } 
    ?> 
+0

「欠けている文字」というのは、生産されたウェブページに文字がないことを意味しますか? – pellucidcoder

+0

「é」のような文字は、ダイヤモンドで置き換えられていますか?内部。 –

+0

あなたのお問い合わせは安全ではありません。プレースホルダーで準備されたステートメントを実装します。 – mickmackusa

答えて

0

ファースト:(この行は、あなたのコード内で最初でなければなりません)あなたが使用することができPHP

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

<?php header("Content-type: text/html; charset=utf-8");?> 

あなたのウェブサイトのルートディレクトリに.htaccessを書き込む必要があります。

その後、UTF-8およびセットアップMBSTRINGに3210
`# Set httpd charset to utf-8 
AddDefaultCharset On 
AddDefaultCharset utf-8` 

セットPHPの文字セット(あなたがモジュールをmbstringのインストールする必要があります)

php_value default_charset utf-8 
php_value mbstring.internal_encoding utf-8 
php_value mbstring.func_overload 7 

source

は、あなたの出力は

htmlentities機能を考え追加してみてください次のようになります。

echo '<img src="data:image/jpg;base64,' . htmlentities(utf8_encode($data1), 0, "UTF-8") . '" class="imag" />'; 
    echo"</td><td>"; 
    echo '<img src="data:image/jpg;base64,' . htmlentities(utf8_encode($data2), 0, "UTF-8") . '" class="imag" />'; 
    echo"</td><td>"; 
    echo '<img src="data:image/jpg;base64,' . htmlentities(utf8_encode($data3), 0, "UTF-8") . '" class="imag" />';