0

データベースにテキストをアップロードしようとしています。ユーザーが特定の文字を入力すると、エンコードされたテキストが表示され続けます。たとえば、ユーザーが「Jalapeño」と入力すると、データベースに「Jalape%C3%B1o」が表示されます。

これは、「ñ」が「%C3%B1」と読み取られているためだとわかっています...

アクセント付きの可能性のあるすべての文字を変換する方法が正確にはわかりません。rewurldecode などを見てきましたが、ここに簡単な解決策があるかどうか疑問に思っています。どんな推奨事項も素晴らしいでしょう。ありがとうございました!

4

2 に答える 2

1

データベースが正しい文字セットと照合順序を使用していることを確認してください (通常は UTF-8 が必要です)。また、接続文字セットを設定し、正しいヘッダーを送信したことを確認してください。

例: mysql:

mysql_connect();
mysql_set_charset("utf8");
header('Content-Type: text/html; charset=utf-8');

を使用して特殊文字を HTML エンティティに変換することもできhtmlentitiesますが、データベースの照合順序と接続設定が正しいことを確認する必要があります。

于 2013-08-13T10:04:50.710 に答える
0

あなたのキャラクターは urlencode されています。正しく表示するには、デコードする必要があります。ただし、URL エンコーディングは、データベースにデータを保存するときに使用するためのものではありません。dtech ポイントとして、utf8 文字セットを使用する必要があります。

于 2013-08-13T10:29:47.007 に答える