質問編集履歴

3

解決

2020/07/09 11:01

投稿

white_note
white_note

スコア8

test CHANGED
File without changes
test CHANGED
@@ -153,3 +153,39 @@
153
153
  select name from table1;
154
154
 
155
155
  を実行した際はGitbashでも文字化けしません。
156
+
157
+
158
+
159
+
160
+
161
+ ### 解決方法
162
+
163
+ Mysqlへ接続した後、3行目のように`charset_utf8`を書いたら文字化け解消されました。
164
+
165
+ 何故かDBの文字コード設定が上手くいっていなかったようです。。。
166
+
167
+ ```
168
+
169
+ #!/bin/bash
170
+
171
+ var=$(mysql -u user pass <<EOF
172
+
173
+ charset utf8;
174
+
175
+ select name from table1;
176
+
177
+ EOF
178
+
179
+ )
180
+
181
+
182
+
183
+ array=(`echo $var`)
184
+
185
+ for ((i=0; i<${#array[@]}; i++)) do
186
+
187
+ echo ${array[i]}
188
+
189
+ done > ./file.txt
190
+
191
+ ```

2

追記

2020/07/09 11:01

投稿

white_note
white_note

スコア8

test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,53 @@
103
103
  echo ${var} > ./file.txt
104
104
 
105
105
  ```
106
+
107
+
108
+
109
+
110
+
111
+ ### 追記
112
+
113
+ > メモ帳で開く場合は BOM を先頭につけてください。
114
+
115
+
116
+
117
+ BOMつきで開いたところ、ローマ字の部分は文字化けが解消されました!
118
+
119
+ しかし漢字の部分の文字化けが未だ直らずです。
120
+
121
+
122
+
123
+ テキストファイルに書き出しせず、Gitbash上で配列の中身を表示しようとすると、この段階で文字化けしていました。
124
+
125
+ ```
126
+
127
+ #!/bin/bash
128
+
129
+ var=$(mysql -u user pass <<EOF
130
+
131
+ select name from table1;
132
+
133
+ EOF
134
+
135
+ )
136
+
137
+ array=(`echo $var`)
138
+
139
+
140
+
141
+ for ((i=0; i<${#array[@]}; i++)) do
142
+
143
+ echo ${array[i]}
144
+
145
+ done
146
+
147
+ ```
148
+
149
+
150
+
151
+ ちなみに、Mysqlで
152
+
153
+ select name from table1;
154
+
155
+ を実行した際はGitbashでも文字化けしません。

1

誤字

2020/07/09 10:41

投稿

white_note
white_note

スコア8

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  echo ${array[i]}
50
50
 
51
- done > ./array.txt
51
+ done > ./file.txt
52
52
 
53
53
  ```
54
54
 
@@ -100,6 +100,6 @@
100
100
 
101
101
  )
102
102
 
103
- echo ${var} > ./brand_array.txt
103
+ echo ${var} > ./file.txt
104
104
 
105
105
  ```