0

私は、mysql データベースからコンテンツを取得するドイツ語の Web サイトを運営しています。次のように文字セットをutf8として定義しました:

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

問題は、データベースからコンテンツをフェッチして表示するときに、適切なドイツ語の「ウムラウト」を取得するために、常に utf8_encode を使用する必要があることです。

特殊文字を含む言語を追加する必要があるため、Web の utf8 文字セットを維持したいと考えています。

utf8_encode を使用せずにデータベースの内容を 1:1 でエコーする方法についてのアイデアはありますか?

ありがとう

4

4 に答える 4

2

データベースへの接続方法を見ないとわかりませんが、一般的な問題はデータベース接続自体です。

データベースを開いて選択した後、設定する必要があります。

$db->exec('SET CHARACTER SET utf8');    // PDO

mysql_set_charset('utf8');    // Deprecated mysql_* extension
于 2012-06-28T15:29:06.773 に答える
1

PHP と MySQL で utf-8 を使用するときはいつでも、通常、これらの 2 つの関数を後で使用する必要があることがわかりましたmysql_connect()

mysql_set_charset('utf8', $link);
mysql_query('SET NAMES utf8', $link);
于 2012-06-28T15:28:00.047 に答える
0

ヘッダーにコンテンツ タイプを設定するとうまくいく場合があります。

header('content-type: text/html; charset=utf-8');
于 2012-06-28T15:25:53.977 に答える
0

同様の問題があり、PHPファイルの先頭にこれを追加して解決しました:

ini_set('default_charset', 'UTF-8');
mb_internal_encoding('UTF-8');

さらに、PHP ファイルを BOM なしの UTF-8 形式で保存しているかどうかを確認することは非常に重要です。これには大きな頭痛の種がありました。Notepad++をお勧めします。現在のファイル エンコーディングが表示され、必要に応じて BOM なしで UTF-8 に変換できます。

私の問題と解決策を見たい場合は、ここにあります

それがあなたを助けることを願っています!

于 2012-06-28T18:41:54.663 に答える