2017-12-05 4 views
0

내 php/html 페이지에 악센트 (é, á)가있는 문자를 올바르게 표시 할 수 없습니다. 데이터베이스가 올바르게 설정되었습니다. 내가 show variables like 'char%를 실행하면 나는 만족스러운 출력을 얻을 : 내 사이트에있는 양식에서 삽입 할 때php/html 페이지에 악센트 (é, á)가있는 문자를 올바르게 표시 할 수 없습니다.

character_set_client  utf8 
character_set_connection utf8 
character_set_database  utf8 
character_set_filesystem binary 
character_set_results  utf8 
character_set_server  utf8 
character_set_system  utf8 
character_sets_dir  /usr/share/mysql/charsets/ 

데이터는 DB에서 제대로 인코딩 및 저장됩니다.

하지만 내 디스플레이 페이지에서 이상한 일이 발생합니다.

PHP 시작 태그 바로 위의 부분에 header('Content-Type: text/html; charset=utf-8');을 입력하면 내 DB의 데이터가 올바르게 표시되지만 HTML 태그 내의 페이지에 수동으로 입력 한 문자 (표의 열 머리글 또는 설명이 포함 된 바로 가기 텍스트)는 쓰레기 :.

나는 페이지 상단에서header('Content-Type: text/html; charset=utf-8');을 제거 , 내 DB에서 데이터가 잘못 표시하지만 HTML 내에서 페이지에 쓰기 텍스트가 괜찮습니다.

나는 내가 아는 모든 것을 시도했다. 누구도 전에 이것을 보았습니까? 난 당신이 서버 측에서 무슨 짓을했는지에 추가로 생각할 수있는

+0

저는 어제 실제로 그 같은 문제가있었습니다. –

+0

파일이 'utf-8 '로 저장되었는지 확인 했습니까? –

+0

테이블을 가져와도 'utf8_unicode_ci' 데이터 정렬로 필드를 설정 했습니까? 이전 iso 테이블을 utf-8로 변환 할 때 이와 같은 문제가 발생하여 완전히 엉망이었습니다. – IncredibleHat

답변

0

유일한 것은 추가하는 것입니다 : HTML 파일에서 <head> 태그에

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

.

+0

나는 이미 그것을 가지고있다! 선언을 포함한 모든 페이지에 PHP를 통해 포함합니다 : // include header template require ('layout/header.php'); – Benjamin

+0

'Tools> View Source'를 실행하여 라인이 소스 html에 있음을 확인합니다. –

-1

파일 인코딩을 UTF-8로 변경해보십시오. Notepad ++, SciTE, PhpStorm 등 많은 사람들이 그것을 할 수 있습니다.

관련 문제