mysql 쿼리 내부에서 charset을 변환하는 것에 대한 질문이 있습니다.mysql 쿼리에서 변환 문자 집합
나는 2 개의 데이터베이스를 가지고 있습니다. 하나는 웹 사이트 (joomla)이고 다른 하나는 포럼 (IPB)입니다. 기본적으로 "SET NAMES UTF8"이있는 joomla 내부에서 쿼리를 수행하고 있습니다. 포럼 데이터베이스에서 테이블을 쿼리하려고합니다. "ibf_topics"라는 테이블. 이 테이블에는 latin1 인코딩이 있습니다.
not-utf8 테이블에서 아무것도 선택하려면 다음을 수행하십시오. 그 후
//convert connection to handle latin1.
$query = "SET NAMES latin1";
$db->setQuery($query);
$db->query();
$query = "select id, title from other_database.ibf_topics";
$db->setQuery($query);
$db->query();
//read result into an array.
//return connection to handle UTF8.
$query = "SET NAMES UTF8";
$db->setQuery($query);
$db->query();
, 내가 선택한 타일을 사용하고자 할 때, 나는 다음과 같은 사용
echo iconv("CP1256", "UTF-8", $topic['title'])
질문은,이 모든 번거 로움을 피하기 위해 어쨌든 무엇입니까? 지금, 나는 UTF8로 포럼 데이터베이스를 변경할 수 없습니다 나는 라틴어로 줌라 데이터베이스를 변경할 수 없습니다 : S
죄송합니다. 나는 그것을 얻지 않았다. 더 설명해 주시겠습니까? 이 코드와 내 코드의 차이점은 무엇입니까? – Yousf
@Yosif 2 배 짧습니다. –
답변을 얻었지만 작동하지 않습니다. "other_database.ibf_topics"에서 선택하기 전에 이름을 latin1로 변경해야합니다. 이 테이블에는 연결이 UTF8 인 경우 손상된 영어 이외의 문자가 들어 있습니다. – Yousf