Vanaf 2006 richtte Chang zich vooral op het kogelstoten. Hij trainde met de Duitse coach Werner Goldmann in Berlijn vanaf juni 2007 tot in 2008 met de Olympische Spelen in Peking. Hij haalde zijn persoonlijke record in 2007 in Engersen, waar hij de kogel naar 20,20 m stootte. Dit was ook meteen het Taiwanese record.
Op de Olympische Spelen van 2012 in Londen nam hij deel aan het kogelstoten. Met 20,25 in de kwalificatieronde plaatste hij zich voor de finale. Daarin kwam hij niet verder dan 19,99 en eindigde op een twaalfde en tevens laatste plaats.