2013-12-17 3 views
1

저는 현재 wordpress에서 drupal로 블로그 게시물을 옮깁니다. 그러나 그것을 옮긴 후 일부 텍스트가 올바르게 표시되지 않습니다. 워드 프레스에서 When it hasn’t (html code is <h2>When it hasn’t</h2>)wordpress에서 가져올 때 drupal에서 인코딩 문제가 발생했습니다.

및 드루팔 dB 값이 정확한지 : When it hasn’t (html code is <h2>When it hasn’t</h2>)

드루팔가 표시된다

워드가 표시된다. 출처는 동일합니다. <h2>When it hasn’t</h2>

나는 많은 옵션을 찾았습니다. 그들 중 누구도 도왔다. 다음은 내가 수행하고 확인한 것들입니다.

1) 나는 utf-8이 drupal 및 wp에서 encoing하는 문자인지 다시 한 번 확인했습니다. 나는 또한 간단한 test.php 파일을 작성하여 의 다른 방법으로 들어오지 않았는지 확인하고 여전히 올바르게 표시하지 않았습니다.

2) 우리가 mysqldump를 가져 와서 drupal utf-8에 업로드하면 이 사용되었는지 확인했습니다.

3) .php 파일이 저장 될 때 utf-8에 있는지도 확인했습니다.

4) 사용 가능한 모든 옵션에 대해 크롬에서 인코딩 유형이 변경되었으므로 이 올바르게 표시되지 않았습니다.

5) PHP 코드를 사용하여 코드를 다시 작성했지만 작동하지 않았습니다.

$value2="<h2>When it hasn’t</h2>"; 

$out = recode_string('..utf-8', $value2); 
//output - When it hasnt 

$out2= mb_convert_encoding($value2,'UTF-8', "UTF-8"); 
// output - When it hasn’t 


$out3= @iconv('UTF-8', 'utf-8', $value2); 
// output - When it hasn’t 

나는 지금 옵션이 없어서 막혔습니다. 제발 도와주세요

답변

3

올바른이지만 실제로 이것은 너무 많은 의미는 아닙니다. 레코드의 내용을 보려면 일부 클라이언트를 사용해야하며, 매우 많은 변형이 발생할 수 있습니다. 어떻게 읽을 수 있도록 텍스트가 렌더링되는지.

그래서 두 가지 문제 :

  1. 페이지 출력 ’ 때문에 드루팔

에 의해 반환 된 HTML 페이지의 인코딩의 인코딩 (CP1252에 xE2x80x99입니다) (유니 코드 U + 2019, UTF-8은 0xE28099)입니다. 그러나 열은 실제로 UTF-8이라고 생각합니다. 텍스트가 CP1252라고 생각하는 데이터베이스와 브라우저 사이에 누군가가 있습니다. 이것은 확인해야합니다 :

  • MySQL을 사용하는 경우 PHP 스크립트에있는 내용이 UTF-8 텍스트가되도록 연결 인코딩이 UTF-8이어야합니다. SET NAMES 'UTF-8'을 사용할 수 있습니다. 유니 코드 세트가 필요 없다면 CP1252를 사용할 수도 있습니다. PHP 문자열은 바이트 배열이므로 은 인코딩을 알고 있다는 점이 중요합니다.
  • HTTP Content-Type 헤더의 응답 인코딩을 명시 적으로 정의하십시오.내가 쿼리 결과를 트랜스 코딩, HTTP 응답의 인코딩이 DB에서 검색 한 텍스트에 사용 된 것보다 다른 경우 드루팔이 header('Content-Type: text/html; charset=utf-8');
  • 를 호출하는 구성 의미 따라
+0

mb_convert_encoding ($ wp_post-> POST_CONTENT, 'CP1252 ','UTF-8 '); CP1252를 어떻게 확인했는지 알 수 있습니까? –

+0

@VishalKhialani은 추측을 통해 추측합니다 : 코드 페이지 (1 바이트 = 1 문자) 여야하고 â 및 € (유럽 문자)를 포함해야하며 내 Windows 용으로 사용하기 때문에 16 진수 편집기로 시도한 첫 번째 인코딩입니다. * Btw, SO 네티켓은 특히 사용자가 모자를 수집 할 때 문제를 해결할 때 upvote & 대답을 수락하는 것입니다 : P * – Raffaele

+0

도와 주셔서 감사합니다. –

관련 문제