回答編集履歴

1

追記

2016/11/25 04:36

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -5,3 +5,37 @@
5
5
  正直肝心のPDOの部分が書いていないのでなんとも言えません
6
6
 
7
7
  実行していないのであれば実行してください
8
+
9
+
10
+
11
+ # 追記
12
+
13
+ SQLサーバーとPDO、文字コードの相性があるので明示的に
14
+
15
+ $pdo->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND,'SET NAMES utf8');
16
+
17
+ を実行してみるとかですかね
18
+
19
+ 一般に$dsn内で「;charset=UTF8」をつけるんですけどね
20
+
21
+
22
+
23
+ その上でどうしても文字化けするようならarray_walkで付け替えてください
24
+
25
+ ```PHP
26
+
27
+ $a=["あああ"=>"いいい","ううう"=>"えええ"];//元データをsjisやeucで書いておいて
28
+
29
+ $b=[];//UTF8用の配列に流し込む
30
+
31
+ array_walk($a,function($val,$index) use(&$b){
32
+
33
+ $b[mb_convert_encoding($index,'UTF8','EUCJP,SJIS')]=mb_convert_encoding($val,'UTF8','EUCJP,SJIS');
34
+
35
+ });
36
+
37
+ print_r($b);
38
+
39
+
40
+
41
+ ```