1

スウェーデン語の文字 (英語のアルファベットとは異なる文字) と、それらがデータベースに挿入される方法に問題があります。

私はosCommerceを使用iso-8859-1しており、管理ページとカタログページの両方で文字セットとして設定されています。データベースでを実行SHOW VARIABLES;すると、 .character_setlatin1

そして、phpinfo からのいくつかのサーバー設定を以下に示します。

iconv.input_encoding ISO-8859-1

iconv.internal_encoding ISO-8859-1

iconv.output_encoding ISO-8859-1

ホスト サポート ページによると、ApacheUTF-8はデフォルトですべてのページを配信します。追加することで変更できます。

AddDefaultCharset ISO-8859-1

.htaccessファイルで。

製品を更新するために管理者に移動すると、さまざまな入力フィールドのすべての文字がデータベースから取得され、想定どおりに表示されます。しかし、製品を更新すると、すべての特殊文字が次のように変換されます。

  • å が √ になる
  • ä は ä になります
  • ö は ö になります

新製品を追加した場合も同様です。

phpmyadmin を使用してデータベースを調べると、「破損した」文字が表示されるため、間違って翻訳したのは Web ページだけではありません。

私のホストは最近、php のいくつかの更新を行うと発表したので、この更新に関係していると思います。数日前はすべて正常に機能していました。

以前の php バージョンはわかりませんが、現在は 5.2.17 で、mysql は 4.0.27-standard です。

誰かがこの件で私を助けて、私が何をする必要があるか教えてくれませんか.

データベースと Web ページを utf-8 に変換する必要がありますか、それとも他に何かする必要がありますか?

4

1 に答える 1

1

Web ブラウザが ISO-8859-1 ではなく UTF-8 でフォームを送信しているようです。それか、アプリケーション (または MySQL クライアント) が、テキストをデータベースに書き込む前に UTF-8 に変換しています。簡単$textecho bin2hex($text);.

ブラウザに問題がある場合は、フォームの送信に使用する文字エンコーディングをaccept-charsetform タグの属性で設定してください。あれは:

<form action="..." method="POST" accept-charset="ISO-8859-1">
    ....
</form>
于 2012-04-12T10:01:24.140 に答える