1

のような文字のMySQLデータを含むデータベースがあります。自分のページに表示したいのですが、が原因で認識できない文字が表示されるのが問題です。したがって、アクセントをHTMLコードに変換するためのaがあります。たとえば、 !に変換されます。accentuatedéPHPaccentfunctionéé

4

4 に答える 4

4

使用するのではなくhtmlentities、ファイルでユニコード文字セットを使用する必要があります。

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

安全のために、次のメタタグをhtmlファイルに追加できます。

<html>
  <head>
    <meta charset="utf-8" />

次に、データベース接続でutf8が使用されていることを確認します。

mysql_connect(...);
mysql_select_database(...);

mysql_set_charset('utf-8');

次に、すべてのブラウザで特殊文字が正しく表示されるはずです。

利点は、phpファイルもutf-8でエンコードされている場合、phpファイルのどこでもユニコード文字を簡単に使用できることです(たとえば、著作権記号(©)やダッシュ(–))。

于 2012-05-04T12:49:49.657 に答える
2

試してみてhtmlspecialchars()くださいhtmlentities()

于 2012-05-04T12:47:01.183 に答える
0

str_replaceを使用して自分で簡単に作成できます。

function txtFormat($input){

    $output = str_replace('/\à/','&#201;',$input);
    $output = str_replace('/\è/','&#232;',$output);
    $output = str_replace('/\é/','&#233;',$output);
    $output = str_replace('/\ì/','&#236;',$output);
    $output = str_replace('/\ò/','&#242;',$output);
    $output = str_replace('/\ù/','&#249;',$output);

    return $output;

}
于 2012-05-04T12:51:28.353 に答える
0

次のコードを使用します

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

また、データベースに挿入する前にutf8_encode()関数を使用してデータをエンコードしないでください。これにより、問題が解決することを願っています:)

于 2012-05-04T12:52:16.043 に答える