2017-03-22 1 views
0

나는 텍스트 영역을 가져 와서 내용을 MySQL 데이터베이스에 저장 한 다음 웹 사이트에서 해당 정보를 표시하는 매우 간단한 형식을 가지고 있습니다. 지금까지 아포스트로피 및 글 머리 기호와 같은 특수 문자를 포함하여 모든 것이 잘 작동했지만 갑자기 아포스트로피로 인해 양식의 오류가 발생하고 글 머리 기호가 다음과 같이 표시됩니다. Â글 머리 기호 대신 갑자기 나타남

모든 페이지는 다음과 같이 메타 인코딩됩니다. UTF-8, 데이터베이스 데이터 정렬은 UTF-8이며 텍스트 영역 문자열은 utf8_encode 명령에 의해 처리됩니다.

갑자기 이런 일이 발생할 수 있습니까?

저는 여기에 대한 답변을 찾고 있었는데 사람들이 데이터베이스 나 웹 페이지/양식에서 UTF-8이 누락 된 상황 만 찾을 수 있습니다. 나의 유일한 가정은 호스트에 의한 PHP 버전 업데이트이지만, 현재 실행중인 버전 번호를 볼 수없는 독점 시스템을 사용하고 이것이 이런 식으로 영향을 받을지 모르겠습니다. .

중요한 점은 텍스트 영역은 항상 서식 지정을 위해 HTML 사전 태그로 묶여 있음을 의미합니다.

답변

0

모든 것이 제대로 인코딩 된 것을 몇 번을 확인 한 후 나는 다음과 같은 솔루션을 시도하고 결국 : I 후

mb_convert_encoding(textareacontents, "HTML-ENTITIES", "UTF-8") 

: MySQL의 DB 내 텍스트 영역 내에서 데이터를 전달하기 전에

을 나는 이것을 실행 그 라인을 모두 움직이기 시작했다. 나는 왜이 mobijake 문제가 무작위로 일어나기 시작했는지, 특히 모든 적절한 문자셋을 사용하여 시작했는지 확신 할 수 없다. 그러나 이것은 도움이되는 것처럼 보였다. 다행히도 누군가 잼에 도움이되기를 바랍니다.

1

필자는 문자 인코딩과 관련하여 분명히 약간 뒤떨어져 있습니다. 문자 세트를 올바르게 선언했는지 확인하십시오.

https://www.w3.org/International/questions/qa-html-encoding-declarations

HTML5는 <meta charset="utf-8">이 필요합니다. 이 기능을 사용하는 경우 <!DOCTYPE html>을 HTML 상단에 사용해야합니다. 그렇지 않으면 <meta charset="utf-8">이 작동하지 않는 HTML4 문제가 발생할 수 있습니다.

+0

역으로 진행됩니다. utf8을 사용해야합니다. 너는 7 살짜리 질문을 인용한다. 우리는 그 이후로 계속 나아갔습니다. – nogad

+0

Thanks @nogad, 업데이트 됨. 이 문제가 생겨난 지 오래되었습니다. –

+0

안타깝게도 내 인코딩을 모두 확인했습니다. – CdnXxRRODxX

1

•은 총알에 대한 모기 베크입니다. 당신이 뭘 잘못했는지 알아 내려면 this을 사용하십시오.

+0

나는 가이드를 통해 아무 것도 놓치지 않았 음을 확신했지만, 내 mobijake 문제는 여전히 지속되었습니다. 그러나 거기에 몇 가지 훌륭한 정보가 있으므로 나중에 참조 할 수 있도록 링크 된 게시물을 사용하겠습니다. – CdnXxRRODxX

+0

그 지점으로 연결되는 링크를 수집하고 단순화하는 데 수 년이 걸렸습니다. 궁극적 인 원인이 무엇인지 듣고 싶습니다. 어쩌면 내 링크에 뭔가 잘못 됐을 수도 있습니다. –

+0

방금이 질문에 대한 답변을 게시했습니다. 뻔뻔스럽게도 솔직히 말하면, 호스트 측에서는 무언가가 일어난 것으로 생각하고 있습니다.이 문제가 생길 무렵에는 중단 시간이 있기 때문에 변경된 사항을 보상하고 있습니다. 나는 인코딩의 기본에 익숙하지 않아 잘못 될 수 있습니다. – CdnXxRRODxX

관련 문제