2012-08-31 5 views
1

이것은 약간 이상한 것이지만 올바르게하지는 않았지만, (PHP 클래스를 사용하여) 삽입 또는 업데이트 할 때 어떤 이유로 텍스트가 삽입되는 몇 가지 이유 (이 경우 이메일의 HTML 사본)는 반 삽입 된 것입니다. '-'가 표시되면 계속 깨집니다.MySQL Insert Column Half Inserted

나는 이것이 항상 보이는 것처럼 표준 하이픈이라고 생각하지 않습니다. 브라우저 바에서 조금씩 다르며이 텍스트 영역에서도 하이픈 '-'은 '-'보다 좁습니다. HTML 엔터티를 시도했지만 변환하지 않으므로이 성가신 문자를 처리 할 때 제안 사항이 있습니까?

PHP 관리 도구를 사용하여 HTML 본문을 직접 삽입하면 (정확하게 동일한 서식을 사용하면 모든 내용이 삽입됩니다.) 심지어 행운을 제거하기 위해 str_replace을 시도해 보았습니다. 그 단어가 더 많은 단어를 가지고 있지만 그 단어가 효과가있는 단어 (아직까지는 그 캐릭터가 보여지기 전에 아직 끊어졌습니다 .....)

+2

코드가 있습니까? 너 뭐 해봤 니? – jcho360

+0

삽입 할 텍스트가 모두 포함되도록 데이터베이스에서 열이 충분히 넓게 정의되어 있습니까? –

+0

예, 그것은 오래 오래'LONGTEXT'로 정의됩니다 -하지만 내가 위에서 말했듯이, PHP Admin으로 데이터를 붙여 넣으면 모든 것이 저장됩니다. – MrJ

답변

1

"dash"을 하이픈과 혼동하지 마십시오.

figure dash (‒) U+2012    
en dash  (–) U+2013 
em dash  (—) U+2014 
horizontal bar (―) U+2015 
swung dash  (⁓) U+2053 
:

대시 많은 종류가 있습니다

쿼리를 실행하기 전에 각 유형별로 str_replace("–", "-", $query);을 시도해보고 문제가 해결되는지 확인해보십시오. 실제로는 utf8_encode()을 조사한 다음 UTF8을 사용하도록 데이터베이스 필드를 설정해야합니다.

+0

이것은 Outlook이 대시 대신에 대시를 대신합니다. 하이픈?) - 내가 할 수있는 것을 볼 것입니다. – MrJ

+0

Outlook은 이중 하이픈 (-)을 em 대시로 자동 변환합니다. http://answers.microsoft.com/en-us/office/forum/office_2010-onenote/autocorrect-and-the-em-dash/6b4b0e83-2bb1-4d1b-9346-384596fd48d7 –

+0

감사합니다 - 작동하는 것 같습니다! 이런 식으로 삽입을 깨뜨릴 수있는 다른 문자가 있습니까? – MrJ