I didn't see any problem with the query itself. First check data will be updated by selecting
SELECT T1.C3, T2.C3
FROM Table1 T1
INNER JOIN Table2 T2
ON T1.c1 = T2.c1 AND T1.c2 = T2.c2
If it returns 0 rows, I think you need to check C1 and C2 one by one. Maybe there are invisible spaces in column C1 or C2. Try following query
SELECT T1.C1, T2.C1, CASE WHEN T1.C1 = T2.C1 THEN 'Same' ELSE NULL END AS "Same C1",
T1.C2, T2.C2, CASE WHEN T1.C2 = T2.C2 THEN 'Same' ELSE NULL END AS "Same C2"
FROM Table1 AS T1, Table2 T2