Hi,
What you need is the following:
create an empty gameObject, make that empty gameObject follow your character.
for the camera, get the position of this dummy gameObject and set the camera position to be of that value. Then your camera will never rotate and be at the right position.
the other possibility is to reset the rotate value of the camera each frame.
If you are having still problems with this, let me know, and I'll do a working example, but I'll leave you fiddle with this for a bit
you are not far from the solution.
Bye,
Jean