Canadian Airlines will credit on K.
So will Cathay's AsiaMiles but you get only 50%.
A little known fact is that you can also accrue miles flown on Cathay with Swissair's Qualiflier programme. You will get 100% of the miles in K class. You only can't have them applied to status earning miles though. Meaning you can't fly Cathay and hope to be upgraded to Swissiar's elite status membership reward.