나는 Joomla 1.5 사이트를 2.5로 변환했고 거의 모든 것이 잘 진행되고 있지만 캐릭터의 디스플레이와 싸우고 있습니다. 라이브 사이트에는와 같은 텍스트가 “You Agency guys are twisted.”
있고 잘 표시되지만 변환 된 사이트에서는 동일한 데이터베이스 기사가 �You Agency guys are twisted.�
.
이제 두 요소가 정확히 동일한 계산 된 스타일을 가지고 있음을 확인했습니다 . 그러나 글꼴 문제처럼 느껴집니다. Joomla 2.5가 해당 문자를 인코딩하는 방법에 문제가 있습니까?
댓글 후에 나는 가서 databse를 확인했습니다. 나는 것을 발견 character_set_database
이전 데이터베이스이었다 latin1
아니라 utf8
내가이 문을 실행하므로 :
alter database my_database default charset latin1;
이제 모든 문자 집합 변수가 두 데이터베이스 사이에 정렬됩니다. 또한 페이지의 문자 집합 utf-8
이이 <metadata>
태그를 방출하기 때문인지 확인했습니다 .
<meta http-equiv="content-type" content="text/html; charset=utf-8">
그러나 문자가 여전히 제대로 표시되지 않습니다.
나는 또한 PHP default_charset
에 utf-8
대해 설정을 시도했습니다 .
default_charset = "utf-8"
그 줄을 추가하기 전에 설정조차 없었기 때문에 내가 추측하는 Apache 기본값이 될 것입니다.
이제 index.php
파일의 Content-Type
헤더가 text/html; charset=utf-8
. 그러나 아아, 이러한 특수 문자는 여전히 제대로 표시되지 않습니다.
다른 것보다 먼저이 쿼리를 실행 해보십시오.
mysql_query("SET NAMES 'utf8'");
마지막으로 문자 집합에 문제가 있었을 때 다른 모든 것이 UTF-8 (제공되는 HTML, 내가 작성한 코드, 데이터베이스 테이블 등) 이었지만 데이터베이스 연결 이 여전히 다른 문자 집합의 모든 것을 전달하고 있었기 때문입니다. . 이것은 그것을 고칠 것입니다.
편집 : 아래 @ null.point3r에서 언급했듯이 이스케이프 된 문자열이 여전히 잘못된 인코딩을 사용할 수 있으므로 다음 코드를 사용하는 것이 더 나은 대안입니다.
$mysqli->set_charset('utf8')
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다