잘못된 인코딩: ISO-8859-1

잘못된 인코딩: ISO-8859-1

을(를) 사용해 보았 Stripe webhook으나 엔드포인트에서 오류가 발생했습니다: Invalid encoding: ISO-8859-1.

저는 Apache2데비안과 함께 사용하고 있습니다.

나는 다음을 추가하려고 시도했지만 성공하지 못했습니다.

  • 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/html. META정확한 동작은 일반적으로 사용자의 클라이언트 구성에 따라 다르지만 이는 응답 본문의 요소를 통해 지정된 모든 문자 세트를 재정의해야 합니다 . 이 기능을 비활성화 하려면 설정하세요 AddDefaultCharset Off. AddDefaultCharset 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

관련 정보