PHP에서 아포스트로피(') 대신 ™를 받는 중
저는 utf8로 또는 utf8에서 텍스트를 변환하려고 시도했지만 도움이 되지 않는 것 같습니다.
다음과 같은 정보:
"It’s Getting the Best of Me"
다음과 같아야 합니다.
"It’s Getting the Best of Me"
HTML 엔티티로 변환하는 방법
<?php
echo mb_convert_encoding(
file_get_contents('http://www.tvrage.com/quickinfo.php?show=Surviver&ep=20x02&exact=0'),
"HTML-ENTITIES",
"UTF-8"
);
?>
자세한 인코딩 옵션은 mb_convert_encoding에 대한 문서를 참조하십시오.
HTML 헤더가 utf8로 지정되었는지 확인합니다.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
이는 일반적으로 저에게 유용합니다(분명히 내용이 Utf8인 경우).
내용 유형을 설정하면 HTML 엔티티로 변환할 필요가 없습니다.
내용이 정상입니다. 서버가 보내는 헤더에 문제가 있습니다.
Connection:Keep-Alive
Content-Length:502
Content-Type:text/html
Date:Thu, 18 Feb 2010 20:45:32 GMT
Keep-Alive:timeout=1, max=25
Server:Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.7 with Suhosin-Patch
X-Powered-By:PHP/5.2.4-2ubuntu5.7
은 Content-Type으로 .Content-type: text/plain; charset=utf-8
이 페이지는 HTML이 아니며 utf-8 인코딩을 사용하기 때문입니다.Mac의 크롬은 ISO-8859-1을 추측하여 설명하는 문자를 표시합니다.
사이트를 제어할 수 없는 경우, 내용 검색에 사용하는 기능에 인코딩을 UTF-8로 지정합니다.저는 PHP에 익숙하지 않아서 정확한 방법을 알 수 없습니다.
질문에 답한 것은 알지만 제 경우 메타태그 설정이 도움이 되지 않았고 선택한 답변이 충분히 명확하지 않아 더 간단한 답변을 드리고 싶었습니다.
단순성을 유지하려면 문자열을 변수에 저장하고 다음과 같은 프로세스를 수행합니다.
$TVrageGiberish = "It’s Getting the Best of Me";
$notGiberish = mb_convert_encoding($TVrageGiberish, "HTML-ENTITIES", 'UTF-8');
echo $notGiberish;
것을 해야 합니다.It’s Getting the Best of Me
만약 당신이 무언가를 파싱하고 있다면, 당신은 다음과 같은 변수에 값을 할당하면서 변환을 수행할 수 있습니다.$TVrage
입니다. 이에서는 "로, "Title", "과 같은 문자를 참조하십시오. XML은 "Title"과 같은 문자를 포함할 수 있습니다.‘
또는’
.
$cleanedTitle = mb_convert_encoding($TVrage->title, "HTML-ENTITIES", 'UTF-8');
WordPress 사이트에서 정크 문자 문제가 발생하여 여기에 있는 경우 다음을 시도해 보십시오.
을 엽니다.
wp-config.php
달기
define('DB_CHARSET', 'utf8')
그리고.define('DB_COLLATE', '')
/** MySQL hostname */ define('DB_HOST', 'localhost'); /** Database Charset to use in creating database tables. */ //define('DB_CHARSET', 'utf8'); /** The Database Collate type. Don't change this if in doubt. */ //define('DB_COLLATE', '');
ISO 8859-1에 없는 UTF8 문자(')에 표준 문자열 함수를 사용하는 것 같습니다.유니코드와 호환되는 PHP 설정 및 기능을 사용하고 있는지 확인합니다.멀티바이트 문자열 함수도 참조하십시오.
우리는 다음을 사용하여 다른 방향으로 가는 데 성공했습니다.
mb_convert_encoding($text, "HTML-ENTITIES", "ISO-8859-1");
이것만 드셔보세요.
한다면$text
이상한 문자를 포함하면 다음 작업을 수행합니다.
$mytext = mb_convert_encoding($text, "HTML-ENTITIES", 'UTF-8');
그리고 당신은 끝났습니다.
모든 것이 효과가 없을 것 같으면, 이것이 당신의 최선의 해결책이 될 수 있습니다.
<?php
$content="It’s Getting the Best of Me";
$content = str_replace("’", "'", $content);
echo $content;
?>
== 또는 ==
<?php
$content="It’s Getting the Best of Me";
$content = str_replace("’", "'", $content);
echo $content;
?>
사용해 보십시오.
html_entity_decode(mb_convert_encoding(stripslashes($text), "HTML-ENTITIES", 'UTF-8'))
위해서fopen
그리고.file_put_contents
작동합니다.
str_replace("’", "'", htmlspecialchars_decode(mb_convert_encoding($string_to_be_fixed, "HTML-ENTITIES", "UTF-8")));
인코딩 원본을 선택한 다음 올바른 인코딩 유형으로 변환해야 합니다.
저의 경우 csv 파일을 읽고 db로 가져옵니다.일부 파일은 잘 표시되지 않습니다.인코딩을 확인해보니 인코딩 ASCII가 있는 파일은 잘 표시되고, UTF-8이 있는 다른 파일은 깨져 있습니다.그래서 저는 인코딩을 변환하기 위해 다음 코드를 사용합니다.
if(mb_detect_encoding($content) == 'UTF-8') {
$content = iconv("UTF-8", "ASCII//TRANSLIT", $content);
file_put_contents($file_path, $content);
} else {
$content = mb_convert_encoding($content, 'UTF-8', 'UTF-8');
file_put_contents($file_path, $content);
}
변환 후 컨텐츠를 파일로 푸시한 후 DB로 가져오기를 처리하면 프론트엔드에 잘 표시됩니다.
위의 솔루션이 작동하지 않는 경우:
저의 경우 단일 인용문이 다른 스타일의 단일 인용문이라는 것을 알게 되었습니다.' 대신에 제 데이터는 '입니다.하나의 인용구가 어떻게 다른지 아십니까?그래서 저는 단순히 str_replace를 작성해서 교체했고 그것이 문제를 해결했습니다.아마도 가장 우아한 해결책은 아닐 것입니다. 하지만 그것은 일을 끝냈습니다.
$string= str_replace("’","'",$string);
링크를 보니 UTF-8로 보입니다. 즉, Firefox에서 View, Character Encoding, UTF-8을 선택하면 올바르게 표시됩니다.
PHP 코드를 UTF-8로 처리하는 방법만 알면 됩니다. 행운을 빕니다!
이것을 사용합니다.
<meta http-equiv="Content-Type" content="text/html; charset=utf8_unicode_ci" />
이것 대신에
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
아무 것도 작동하지 않으면 이 mb_convert_encoding($elem->textContent, 'UTF-8', 'utf8mb4')을 시도해 보십시오.
언급URL : https://stackoverflow.com/questions/2292004/getting-%c3%a2%e2%82%ac-instead-of-an-apostrophe-in-php
'programing' 카테고리의 다른 글
키보드 잡기프로그램 종료 중 Python에서 인터럽트 발생 (0) | 2023.07.23 |
---|---|
Python: 하위 패키지 또는 하위 모듈 가져오기 (0) | 2023.07.23 |
도커 컨테이너에서 SQL 스크립트 실행 중 (0) | 2023.07.23 |
MySQL(MardiaDB) 종속 테이블의 최신 레코드에서 정보를 가져오는 방법은 무엇입니까? (0) | 2023.07.23 |
페이지 로드가 완료될 때까지 페이지 로드 div를 표시하는 방법은 무엇입니까? (0) | 2023.07.23 |