악센트 CakePHP2.0과 : 그런살균 :: HTML 나는 데이터베이스에 내 데이터를 저장하기 위해 사용하던
$this->request->data['Post']['body'] = utf8_decode($this->request->data['Post']['body']);
, 나는 악센트를 가진 사람처럼 내 DB에 약간의 "특별한"문자를 절약 할 수 : áéíúú 아무런 문제없이.
그럼, HTML 및 SQL 주입에서 내 응용 프로그램을 보호하기 위해 노력하고 내가 같은 살균을 사용 :
이$this->request->data['Post']['body'] = Sanitize::html($this->request->data['Post']['body']);
그래서 지금 내 텍스트는 다음과 같이 데이터베이스에 저장됩니다
á = á
é = é
í = í ...etc
그리고 나는 그것을 원하지 않는다. 또한, DB에 내 필드는 문자의 maximun있다 그리고 이것은 도움이되지 않습니다.
나는 또한 encode = true, encode = false 또는 encode = 'utf8'로 sanitize에서 옵션 param을 사용하려고 시도했지만 아무 것도 바뀌지 않는 것 같습니다.
어떻게해야합니까? 감사합니다. .
UPDATE 1
나는 또한 내 컨트롤러의 기능을 htmlentities에서 사용하는 것을 시도했다하지만이 대신 내 데이터베이스에서이 삽입 : 당신이 (당신의 데이터를 저장하기 위해 케이크를 사용하는 경우
Ã
좋아, 그렇다면 html ($ myText)을 HTML보기에서 바로 보호하기 위해 내보기에서 사용해야합니다. – Alvaro
좋아, 나는 내 몸에 포함 된 URL이 HTML 형식 (aaa)으로 작성되어 그것을 파괴하므로 내보기에서 치료할 수 있습니다. 컨트롤러에서 htmlentities를 사용하려고했지만 데이터베이스에이 사실을 저장합니다. & Atilde; 대신에 – Alvaro
HTML을 저장하지 않으려면'Sanitize :: stripTags()'만 할 수 있습니다. 'h()'는 당신을 도와주지 않습니다. 문자를 엔티티로 변환합니다.'Sanitize :: html()'과 같은 일을합니다. – jeremyharris