When I remove doubles from my mesh the texture becomes corrupted:
But the UVs are the same so I don't know.
Somebody know how can I fix it ?
The situation in your case is a bit similar to one in the linked post in the comments, except for the fact that here are 4 islands overlapping and they do that in a bit more difficult way (see below). In the next screenshot you can see what you can get from "one" island on the UV map if selecting and grabbing them out:
The problem however is that you can't just select those revealed islands, select adjacent faces in the mesh (Keep UV and edit mode mesh selection in sync) and delete them. Some of overlapping islands are those which should be preserved (meaning if repairing this UV mapping).
So to delete only double faces you should find only those which do not affect UV mapping as you see it. In order to do that:
Move selection in UV / Image Editor and you'll see texture changing in 3D Viewport. The trick is to find those faces which do not move; those are the doubles and the ones which should be deleted.
Repeat that for other islands; once finished you'll get not very nice UV map and mesh with texture looking the same. The Remove Doubles operator won't affect UV map any more and you'll be able to delete remaining double vertices:
The UV map will look like partially stolen, and I don't think you can automatically gather it back again. However quick and dirty solution will be to select former overlapping islands and move them back to main ones (not the best solution though).