回答編集履歴

2

FULLWIDTH TILDEからWAVE DASHへ

2015/12/11 06:31

投稿

izkn
izkn

スコア1698

test CHANGED
@@ -131,3 +131,37 @@
131
131
  1 row in set (0.00 sec)
132
132
 
133
133
  ```
134
+
135
+
136
+
137
+ ---
138
+
139
+ **追記**
140
+
141
+ ```sql
142
+
143
+ mysql> select hex(ord('〜'));
144
+
145
+ +-----------------+
146
+
147
+ | hex(ord('〜')) |
148
+
149
+ +-----------------+
150
+
151
+ | E3809C |
152
+
153
+ +-----------------+
154
+
155
+ 1 row in set (0.00 sec)
156
+
157
+ ```
158
+
159
+
160
+
161
+ PHPでMySQLにUPDATE文を投げる前に、`〜`を`FULLWIDTH TILDE`から`WAVE DASH`に変換、
162
+
163
+ つまり`\xEF\xBD\x9E`を`\xE3\x80\x9C`に変換をかけることはできますか。
164
+
165
+
166
+
167
+ `FULLWIDTH TILDE`ではなく`WAVE DASH`なら入るのではなかろうかと推測しております。

1

環境出力

2015/12/11 06:31

投稿

izkn
izkn

スコア1698

test CHANGED
@@ -49,3 +49,85 @@
49
49
 
50
50
 
51
51
  どのようなSQL文を手入力で投げて、どのようなエラーが戻ったのかを質問に追記する形でご提示ください。
52
+
53
+
54
+
55
+
56
+
57
+ ---
58
+
59
+ **追記**
60
+
61
+ 当方の環境を出力します。お使いの環境と何か違いがありますか。
62
+
63
+ ```sql
64
+
65
+ mysql> insert into testlog (uploadlog) values ('20151002~20151201');
66
+
67
+ Query OK, 1 row affected (0.01 sec)
68
+
69
+
70
+
71
+ mysql> select * from testlog;
72
+
73
+ +---------------------+
74
+
75
+ | uploadlog |
76
+
77
+ +---------------------+
78
+
79
+ | 〜~ |
80
+
81
+ | 20151002~20151201 |
82
+
83
+ +---------------------+
84
+
85
+ 2 rows in set (0.00 sec)
86
+
87
+
88
+
89
+ mysql> show variables like "chara%";
90
+
91
+ +--------------------------+----------------------------+
92
+
93
+ | Variable_name | Value |
94
+
95
+ +--------------------------+----------------------------+
96
+
97
+ | character_set_client | utf8 |
98
+
99
+ | character_set_connection | utf8 |
100
+
101
+ | character_set_database | utf8 |
102
+
103
+ | character_set_filesystem | binary |
104
+
105
+ | character_set_results | utf8 |
106
+
107
+ | character_set_server | latin1 |
108
+
109
+ | character_set_system | utf8 |
110
+
111
+ | character_sets_dir | /usr/share/mysql/charsets/ |
112
+
113
+ +--------------------------+----------------------------+
114
+
115
+ 8 rows in set (0.00 sec)
116
+
117
+
118
+
119
+ mysql> show create table testlog \G;
120
+
121
+ *************************** 1. row ***************************
122
+
123
+ Table: testlog
124
+
125
+ Create Table: CREATE TABLE `testlog` (
126
+
127
+ `uploadlog` varchar(100) DEFAULT NULL
128
+
129
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8
130
+
131
+ 1 row in set (0.00 sec)
132
+
133
+ ```