Mysql connection dan sonra SET NAMES UTF8; diye bir sorgu çalıştırırsan. Mysql serve ile UTF8 çalışmaya başlarsın.
TR karakter sorunu decode ederken oluyordur bundan dolayı, gönderdiğiniz veri UTF8 olmalı, select edeceğiniz veride UTF8 olmalı. bunu da yukarıda set names utf8; çözer.
Daha da olmadı. base64encode( jsonencode( $dizi ) ) olarak saklayıp; json_decode( base64decode ( $str ), true ); olarak açarsınız.
Evet maalesef türkçe sorunu yaşadım. collation usf8 turkish ci idi. Dediğinizi deneyip döneceğim. Teşekkürler...