7

このドイツ語の文字を適切な方法で表示しようとしていますが、使用しない場合htmlentities()、出力はunabh�ngigになりますが、使用しようとするhtmlentities()と単語が見つからないのはなぜですか?

<?php
$str = htmlentities("unabhängig");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test</title>
<meta charset='utf-8'>
</head>
<body>
</body>
<div><?php echo $str;?></div>
4

4 に答える 4

8

ü、ä などでも同じ問題がありました。

データベースを選択した直後に、次の 2 行を実装しました。

mysql_query("SET NAMES 'utf8'"); 
mysql_query("SET CHARACTER SET 'utf8'");

ここで提案されているように: http://www.flashhilfe.de/forum/serverseitige-programmierung/php-mysql-wie-utf-8-beim-connect-festlegen-225225-225225.html

最高、ヤニス

于 2013-03-31T18:48:57.100 に答える
0

HTTPヘッダーを使用して文字セットがutf-8に設定されていることを確認することにより、個別にエンコードせずにüを送信できるはずです。

何らかの理由でそれができない場合は、次を使用します。

Ü = &Uuml;

また

ü = &uuml;
于 2012-07-11T11:54:59.837 に答える
0

文字セットの形式は次のとおりです。

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

エンコーディングが htaccess または apache によって強制されていないことを確認してください。サイトを表示するときにブラウザーで選択されているエンコーディングを確認してください。utf-8 でない場合は強制されています。強制された場合は、これを htaccess に追加できます

AddDefaultCharset UTF-8

データベーステーブルがutf-8であることを確認してください

データベースへの接続が utf-8 であることを確認してくださいhttp://php.net/manual/en/function.mysql-set-charset.php

mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);

UTF-8 エンコーディングを htmlentities に渡して、正しいエンコーディングを使用することができます。または、htmlspecialchars http://php.net/manual/en/function.htmlentities.phpを使用できます 。

于 2012-07-11T12:01:51.733 に答える