Had some trouble in the past with equivalent encryption/decryption across these three languages so figured I'd share my findings.
Note: I'm aware the IV you choose shouldn't be static, but for this example it saved some string manipulation code. What I've seen people do is attach the IV to the front of the encrypted string (first 16 characters), then substring when you are decryption.
Would love to hear your thoughts / comments!