無効なエンコード:ISO-8859-1

無効なエンコード:ISO-8859-1

を試しましたStripe webhookが、エンドポイントでエラーが発生しましたInvalid encoding: ISO-8859-1

私はApache2Debianと共に使用しています。

私は以下を追加しようとしましたが、成功しませんでした。

  • IndexOptions +Charset=UTF-8私の中へ.htaccess
  • AddDefaultCharset utf-8入力する/etc/apache2/httpd.conf
  • AddDefaultCharset utf-8入力する/etc/apache2/apache2.conf
  • AddDefaultCharset utf-8入力する/etc/apache2/sites-enabled/mydomain.com.conf
  • AddDefaultCharset utf-8入力する/etc/apache2/conf-enabled/charset.conf

Apache2各テスト間で再起動します。

編集:私php.ini基本文字セット= UTF-8。私はSymfonyフレームワークを使用しています。

ベストアンサー1

このAddDefaultCharsetディレクティブは、コンテンツのエンコーディングを変更せず、応答ヘッダー(たとえばContent-Type: text/html; charset=UTF-8)のみを変更します。通常、HTMLに<meta charset="utf-8">実際のコンテンツなどのメタタグがある場合は必要ありません。はいUTF-8でエンコードされました。

https://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset

text/plainこのディレクティブは、応答のコンテンツタイプがまたはである場合にのみ応答に追加されるメディアタイプcharsetパラメータ(文字エンコーディングの名前)のデフォルト値を指定しますtext/htmlMETA正確な動作は通常、ユーザーのクライアント構成によって異なりますが、これは応答本文の要素で指定されたすべての文字セットをオーバーライドする必要があります。この機能を無効にするには設定してくださいAddDefaultCharset OffAddDefaultCharset Onデフォルトの文字セットを有効にしますiso-8859-1
...

そして…

AddDefaultCharset適用可能なすべてのテキストリソースがその文字エンコーディングにあることが知られており、その文字セットを個別に表示するのが不便な場合にのみ使用してください。

コンテンツのエンコーディングを確認する必要があります。 PHPを使用している場合は、次の設定を確認してください。基本文字セットあなたのphp.ini

toコマンドを実行すると、fileファイルエンコーディングの手がかりを得ることができます。

例:

$ file *.html
iso.html:  HTML document, ISO-8859 text
utf8.html: HTML document, UTF-8 Unicode text

おすすめ記事