otherwise you have to starting looking into "Pixel Perfect Collision". Which is much slower, but more accurate.
Pixel perfect collision isn't really that slow if you do it right, currently for my platformer, im using a very unoptimal(slow) method to achieve it, and i still get maxfps without drops(1000).
If you want pixelperfect; Create a
rect for your player, and generate collisionmaps for each tile you load(2d-vector of bool's would be something), then check if you playerrect intersects with your tilerects, if they do, check if any pixel collides between the playerrect and the tile-collisionmap, based off the intersected intersection that sf::Rect::Intersects returns