I'll show you geometrically a one-to-one correspondence between $(0,1)$ and $(0,2)$, showing that they have the same cardinality.
To figure out where $x$ goes to, draw a line from the point $P$ on top, through $x$ on the copy of $(0,1)$, until it hits the copy of $(0,2)$. Like this:
You see, we know how to pair up any two points because one line joins exactly one point of $(0,1)$ with one point of $(0,2)$.
In fact, you could do this to pair up any sets $(a,b)$ and $(c,d)$, or $[a,b]$ and $[c,d]$.
Now, to show that these are all uncountable, it suffices to provide a one-to-one correspondence between $(0,1)$ and $\mathbb R$.
So, what I'm going to do is take the interval $(0,1)$ and curve it up into a half-circle:
We do the same thing we did before. We have a point at the top; each point $x$ of $(0,1)$ is paired with the point $f(x)$ of $\mathbb R$ that is on the line joining the point at the top with $x$:
As we get closer and closer to the boundary of $(0,1)$, it gets stretched out more and more. It would be getting stretched out infinitely far at $0$ or $1$, but it's OK because those points aren't there! And we get to take this finite thing and distort it, a lot, to cover this infinite thing! (Since we're doing $(0,1)$, $0$ and $1$ aren't included in the set we're trying to pair up.)
Script and images stolen from here: http://www.artofproblemsolving.com/school/mathjams-transcripts?id=196
Now, one thing I haven't yet shown you is a one-to-one correspondence between $(0,1)$ and $(0,1]$ (or, for that matter, between either of those and $[0,1]$.) I haven't been able to find an image for this — I might edit this later if I find one. (Or I could draw it and photograph it with my phone.) However, hopefully I've convinced you that these are all uncountable, and that's all you really wanted to do, so this detail isn't essential.