Ik probeer een string te vergelijken in PHP en dat wil maar niet lukken...
Het resultaat van var_dump is het volgende:
Dus 29 voor de een en 33 voor de ander. Ik heb trim al gebruikt, html_entity_encode en ook mb_detect_encoding (strict) geeft aan dat beide UTF-8 zijn.
Die van 29 komt uit een API rollen en die van 33 uit mijn database. De database gebruikt de utf8mb4_unicode_ci encoding. Als hij in de database niet bestaat, dan sla ik hem op in de database. De eerstvolgende vergelijking met dezelfde waarde gaat echter niet.
Edit: die & is overduidelijk het probleem. Hij word in de database opgeslagen als &, maar dat moet gewoon een & zijn.
Wat kan ik hier nog proberen?
Het resultaat van var_dump is het volgende:
code:
1
| string(29) "Lorem ipsum & dolor sit amets" |
code:
1
| string(33) "Lorem ipsum & dolor sit amets" |
Dus 29 voor de een en 33 voor de ander. Ik heb trim al gebruikt, html_entity_encode en ook mb_detect_encoding (strict) geeft aan dat beide UTF-8 zijn.
Die van 29 komt uit een API rollen en die van 33 uit mijn database. De database gebruikt de utf8mb4_unicode_ci encoding. Als hij in de database niet bestaat, dan sla ik hem op in de database. De eerstvolgende vergelijking met dezelfde waarde gaat echter niet.
Edit: die & is overduidelijk het probleem. Hij word in de database opgeslagen als &, maar dat moet gewoon een & zijn.
Wat kan ik hier nog proberen?
[ Voor 8% gewijzigd door RobIII op 13-07-2016 13:30 . Reden: Even correct escaped zodat & & & goed weergegeven wordt :P ]