teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

iOS側とNode側が分かるように書き加えました

2017/06/05 07:43

投稿

apple2
apple2

スコア37

title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,7 @@
4
4
  webから取得した文字列は下記のように表示されます
5
5
  \U00e6\U0097\U00a5\U00e6\U009c\U00ac
6
6
  本当は"日本"になるはずです
7
- nodeからの送信は
7
+ nodeサーバ側からの送信は
8
8
  ```javascript
9
9
  var msg = new Object();
10
10
  msg.cmd = '日本';
@@ -13,7 +13,7 @@
13
13
  ```
14
14
 
15
15
 
16
-
16
+ iOS側はこんな感じで受信しています
17
17
  ```swift3
18
18
  socket = SocketIOClient(socketURL: URL(string: "192.168.1.100")!, config: [.log(false), .forcePolling(true)])
19
19
 

5

受信の部分を書き直しました

2017/06/05 07:43

投稿

apple2
apple2

スコア37

title CHANGED
@@ -1,1 +1,1 @@
1
- iosで日本語が文字化けして表示され
1
+ iosのsocket通信で日本語がく送受信できません
body CHANGED
@@ -1,14 +1,26 @@
1
+ node.jsサーバとのやりとりですが、日本語が送受信できません
2
+
1
- webから受信した日本語がうまく表示できません
3
+ まず受信した日本語がうまく表示できません
2
4
  webから取得した文字列は下記のように表示されます
3
5
  \U00e6\U0097\U00a5\U00e6\U009c\U00ac
4
6
  本当は"日本"になるはずです
7
+ nodeからの送信は
8
+ ```javascript
9
+ var msg = new Object();
10
+ msg.cmd = '日本';
11
+ io.sockets.json.emit('messageHeat', { value: msg });
12
+ });
13
+ ```
5
14
 
15
+
16
+
6
17
  ```swift3
7
18
  socket = SocketIOClient(socketURL: URL(string: "192.168.1.100")!, config: [.log(false), .forcePolling(true)])
8
19
 
9
20
  socket.on("Message") { data, emitter in
10
21
  let mes = String(describing: data)
22
+ let msgcmd = //ここでパースしてmsg.cmdを取り出します
11
- self.myTextfield( str: mes)
23
+ self.myTextfield( str: msgcmd)
12
24
 
13
25
  }
14
26
  socket.connect()

4

受信の部分を追加しました

2017/06/03 20:39

投稿

apple2
apple2

スコア37

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,21 @@
1
+ webから受信した日本語がうまく表示できません
2
+ webから取得した文字列は下記のように表示されます
3
+ \U00e6\U0097\U00a5\U00e6\U009c\U00ac
4
+ 本当は"日本"になるはずです
5
+
1
6
  ```swift3
2
- //webから取得した文字列は下記のように表示されます
3
- //本当は"日本"になるはずです
7
+ socket = SocketIOClient(socketURL: URL(string: "192.168.1.100")!, config: [.log(false), .forcePolling(true)])
4
8
 
5
- let str = "\U00e6\U0097\U00a5\U00e6\U009c\U00ac"
9
+ socket.on("Message") { data, emitter in
10
+ let mes = String(describing: data)
6
- myTextField.text = str
11
+ self.myTextfield( str: mes)
12
+
13
+ }
14
+ socket.connect()
15
+
7
16
  ```
8
- webから受信した日本語がうまく表示できません
9
17
 
18
+
10
19
  送信するときもうまく送信できません
11
20
  文字コードを変換する必要があると思うのですが
12
21
  どうやればいいのでしょう

3

テキスツフィールドには\\U00e6\\U0097\\U00a5\\U00e6\\U009c\\U00acと出ます

2017/06/03 20:26

投稿

apple2
apple2

スコア37

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,7 @@
1
1
  ```swift3
2
+ //webから取得した文字列は下記のように表示されます
3
+ //本当は"日本"になるはずです
4
+
2
5
  let str = "\U00e6\U0097\U00a5\U00e6\U009c\U00ac"
3
6
  myTextField.text = str
4
7
  ```

2

別のフィールドにうまく表示できているというのは間違いでした

2017/06/03 13:09

投稿

apple2
apple2

スコア37

title CHANGED
File without changes
body CHANGED
@@ -4,8 +4,6 @@
4
4
  ```
5
5
  webから受信した日本語がうまく表示できません
6
6
 
7
- 別のフィールドにはちゃんと日本語で表示できているのに、その違いがわかりません
8
-
9
7
  送信するときもうまく送信できません
10
8
  文字コードを変換する必要があると思うのですが
11
9
  どうやればいいのでしょう

1

別のフィールドでは日本語で表示されています

2017/06/03 13:07

投稿

apple2
apple2

スコア37

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,9 @@
3
3
  myTextField.text = str
4
4
  ```
5
5
  webから受信した日本語がうまく表示できません
6
+
7
+ 別のフィールドにはちゃんと日本語で表示できているのに、その違いがわかりません
8
+
6
9
  送信するときもうまく送信できません
7
10
  文字コードを変換する必要があると思うのですが
8
11
  どうやればいいのでしょう