Programming

Apache의 기본 인코딩을 UTF-8로 변경하는 방법은 무엇입니까?

procodes 2020. 6. 29. 21:22
반응형

Apache의 기본 인코딩을 UTF-8로 변경하는 방법은 무엇입니까?


호스팅 회사를 사용하고 있으며 파일 index.html이 없으면 디렉토리에 파일을 나열하고 iso-8859-1을 기본 인코딩으로 사용합니다.

서버가 Apache 인 경우 UTF-8을 기본값으로 설정하는 방법이 있습니까?

업데이트 : 또한 실제로 HTML 3.2의 DOCTYPE을 사용하고 있으며 문자 세트가 전혀 없다는 것을 알았습니다. 그래서 인코딩을 설정하지 않습니다. 그러나 UTF-8을 사용하도록 변경하는 방법이 있습니까?


httpd.conf에서 add (또는 이미있는 경우 변경) :

AddDefaultCharset utf-8

이것을 다음에 추가하십시오 .htaccess:

IndexOptions +Charset=UTF-8

또는 관리자 권한이있는 경우 다음을 편집 httpd.conf하고 추가하여 전체적으로 설정할 수 있습니다 .

AddDefaultCharset UTF-8

(당신이 사용할 수 AddDefaultCharset있는 .htaccess도하지만 방법은 아파치가 생성 한 디렉토리 목록에 영향을 미치지 않습니다.)


참조 AddDefaultCharset 지침 , AddCharset 지침 , 그리고 이 기사를 .

AddDefaultCharset utf-8

그러나 나는 지금 한자를 사용해야합니다. 이전에는 한자를 유니 코드 코드로 변환하여 &#해킹을 사용하여 문서에 포함 시켰습니다 . 그러나 문자가 적은 페이지에만 유용합니다.

파일 이름으로 문자셋 정보를 인코딩하면 아파치가이를 기반으로 적절한 인코딩 헤더를 출력합니다. AddCharset아래 줄과 같이 conf 파일 덕분에 가능 합니다.

conf/httpd.conf:

AddCharset UTF-8 .utf8

따라서 이름이로 끝나는 파일이 있으면 .html.utf8아파치는 마치 UTF-8로 인코딩 된 것처럼 페이지를 제공하고 그에 따라 적절한 문자 인코딩 지시문을 헤더에 덤프합니다.


htaccess에 다음 줄을 추가하십시오.

AddCharset utf-8 .html .css .php .txt .js

서버의 conf 파일에 액세스 할 수없는 사용자를위한 것입니다. 다른 시도가 실패했을 때 시도하는 것이 하나 더 있습니다.

.htaccess 사용과 관련된 성능 문제까지는 이것을 보지 못했습니다. 내 일반적인 페이지로드 시간은 .htaccess가 있거나없는 150-200mS입니다.

페이지가 올바르게 렌더링되지 않으면 성능이 좋은 것입니다. 대부분의 공유 서버는 문자 세트를 추가하기 위해 선호되는 구성 파일에 대한 사용자 액세스를 허용하지 않습니다.


장소 AddDefaultCharset UTF-8/etc/apache2/conf.d/charset. 사실, 이미 존재합니다. 위의 내용을 제거하여 주석 처리를 제거하면됩니다 #.


Apache 구성 (httpd.conf)에 액세스 할 수 있는지 확실하지 않지만 AddDefaultCharset 지시문을 설정할 수 있어야합니다. 보다:

http://httpd.apache.org/docs/2.0/mod/core.html

mod_mime.c 모듈을 찾아서 다음이 설정되어 있는지 확인하십시오.

AddDefaultCharset utf-8 

또는 동등한 Apache 1.x 문서 ( http://httpd.apache.org/docs/1.3/mod/core.html#adddefaultcharset )

그러나 이는 "응답 컨텐츠 유형이 text / plain 또는 text / html"인 경우에만 작동합니다.

또한 페이지에 문자 세트가 설정되어 있는지 확인해야합니다. 자세한 내용은 다음을 참조하십시오.

http://www.w3.org/TR/REC-html40/charset.html


이것은 테스트되지 않았지만 작동합니다.

.htaccess 파일에 다음을 입력하십시오.

<Files ~ "\.html?$">  
     Header set Content-Type "text/html; charset=utf-8"
</Files>

그러나 서버에 mod_headers가 필요합니다.


완전성을 위해 Ubuntu의 Apache2에서는 conf-available의 charset.conf에 기본 문자 세트가 있습니다.

라인 주석 해제

AddDefaultCharset UTF-8

모든 HTML 파일이 UTF-8이고 컨텐츠 유형에 대한 메타 태그가없는 경우 두 가지 지시문을 모두 추가하여 Apache 2.4에서 이러한 파일을 전송하는 데 필요한 기본값 만 설정할 수있었습니다.

AddLanguage ru .html
AddCharset UTF-8 .html

utf-8에 긴 파일 이름이있는 경우 힌트 : 기본적으로 파일 이름이 20 바이트로 단축되므로 마지막 문자가 "반으로 잘려서"제대로 인식되지 않을 수 있습니다. 그런 다음 다음을 설정하십시오.

IndexOptions Charset=UTF-8 NameWidth=*

NameWidth 설정하면 파일 이름이 짧아 져서 올바르게 표시되고 읽을 수있게됩니다.

다른 사용자가 이미 언급했듯이 httpd.conf또는 apache2.conf관리자 권한이있는 경우 또는 관리자 권한이없는 경우 추가해야합니다 .htaccess.


비워 두십시오. 'default_charset' in WHM :::::: default_charset =''

p.s. - In WHM go --------) Home »Service Configuration »PHP Configuration Editor ----) click 'Advanced Mode' ----) find 'default_charset' and leave it blank ---- just nothing, not utf8, not ISO

참고URL : https://stackoverflow.com/questions/913869/how-to-change-the-default-encoding-to-utf-8-for-apache

반응형