0

ドイツのウェブサイトでのエンコードに問題があります。私はテキストを持っています:

„eröffnungsfeierFISアルペンスキー世界選手権2011“ </ p>

このテキストをデータベースに保存すると、次のようになります。それらの引用符の代わりに。

配置してみました

header("Content-Type: text/html; charset=utf-8");
mb_internal_encoding("UTF-8");
setlocale(LC_ALL, 'de_DE.utf-8');

成功せずにファイルの先頭に。

私が使用したとき

mysql_set_charset('utf8', $connect);

ただし、öのような最初の文字に到達した後に上にテキストを挿入すると、残りのテキストが削除されます。

テーブルの文字セットと照合はUTF-8です。スクリプトファイルは、BOMなしでUTF-8として保存されます。

どこを見ればいいのかわからない。

4

2 に答える 2

1

1)データベースのスキーマを確認します-テキストフィールドはutf-8を格納するように設定されていますか?

2)このスクリプトへのページ投稿はUTF-8を送信していないようです。正しいContent-Typeヘッダーがありますか?何がecho urlencode($var)表示されますか?(これは、取得している生のバイトを確認するための巧妙なハックです)

于 2012-04-05T18:15:51.137 に答える
0

私がしたことは助けになりました。特にmysql_set_charset('utf8', $connect);。問題は、別のプログラマー(utf8_decode)によって不要なコードが残っていることでした。彼は他の方法でutf-8エンコーディングを処理できなかったようです。

mysql_set_charset('utf8', $connect);また、最初からエンコーディングに一貫性がある場合は、これは実際には必要ないこともわかりました。

于 2012-04-06T08:26:25.433 に答える