...

View Full Version : encoding: strings don't match



timgolding
11-14-2007, 03:43 PM
I'm am trying to compare two strings. One string is stored in an MySQL DB and one is sent via POST. If I output the strings separately they look identical, but they are not. I have outputted the ord() of each character in each string separately so I could compare. All were the same until I got to special chars thats where the errors are occuring, that suggests the encoding is not the same. Can anyone tell me how I can ensure the encoding of POST and SQL strings match?

Here is the output :


0.) T(84)==T(84)
1.) h(104)==h(104)
2.) e(101)==e(101)
3.) (32)== (32)
4.) P(80)==P(80)
5.) l(108)==l(108)
6.) u(117)==u(117)
7.) s(115)==s(115)
8.) (32)== (32)
9.) r(114)==r(114)
10.) a(97)==a(97)
11.) n(110)==n(110)
12.) g(103)==g(103)
13.) e(101)==e(101)
14.) (32)== (32)
15.) i(105)==i(105)
16.) s(115)==s(115)
17.) (32)== (32)
18.) f(102)==f(102)
19.) u(117)==u(117)
20.) r(114)==r(114)
21.) t(116)==t(116)
22.) h(104)==h(104)
23.) e(101)==e(101)
24.) r(114)==r(114)
25.) (32)== (32)
26.) e(101)==e(101)
27.) x(120)==x(120)
28.) p(112)==p(112)
29.) a(97)==a(97)
30.) n(110)==n(110)
31.) d(100)==d(100)
32.) e(101)==e(101)
33.) d(100)==d(100)
34.) ,(44)==,(44)
35.) (32)== (32)
36.) b(98)==b(98)
37.) o(111)==o(111)
38.) a(97)==a(97)
39.) s(115)==s(115)
40.) t(116)==t(116)
41.) i(105)==i(105)
42.) n(110)==n(110)
43.) g(103)==g(103)
44.) (32)== (32)
45.) i(105)==i(105)
46.) n(110)==n(110)
47.) c(99)==c(99)
48.) r(114)==r(114)
49.) e(101)==e(101)
50.) a(97)==a(97)
51.) s(115)==s(115)
52.) e(101)==e(101)
53.) d(100)==d(100)
54.) (32)== (32)
55.) p(112)==p(112)
56.) r(114)==r(114)
57.) o(111)==o(111)
58.) c(99)==c(99)
59.) e(101)==e(101)
60.) s(115)==s(115)
61.) s(115)==s(115)
62.) i(105)==i(105)
63.) n(110)==n(110)
64.) g(103)==g(103)
65.) (32)== (32)
66.) p(112)==p(112)
67.) o(111)==o(111)
68.) w(119)==w(119)
69.) e(101)==e(101)
70.) r(114)==r(114)
71.) (32)== (32)
72.) a(97)==a(97)
73.) n(110)==n(110)
74.) d(100)==d(100)
75.) (32)== (32)
76.) d(100)==d(100)
77.) i(105)==i(105)
78.) s(115)==s(115)
79.) k(107)==k(107)
80.) (32)== (32)
81.) s(115)==s(115)
82.) p(112)==p(112)
83.) a(97)==a(97)
84.) c(99)==c(99)
85.) e(101)==e(101)
86.) .(46)==.(46)
87.) (32)== (32)
88.) T(84)==T(84)
89.) h(104)==h(104)
90.) i(105)==i(105)
91.) s(115)==s(115)
92.) (32)== (32)
93.) s(115)==s(115)
94.) y(121)==y(121)
95.) s(115)==s(115)
96.) t(116)==t(116)
97.) e(101)==e(101)
98.) m(109)==m(109)
99.) (32)== (32)
100.) w(119)==w(119)
101.) i(105)==i(105)
102.) l(108)==l(108)
103.) l(108)==l(108)
104.) (32)== (32)
105.) a(97)==a(97)
106.) l(108)==l(108)
107.) l(108)==l(108)
108.) o(111)==o(111)
109.) w(119)==w(119)
110.) (32)== (32)
111.) y(121)==y(121)
112.) o(111)==o(111)
113.) u(117)==u(117)
114.) (32)== (32)
115.) t(116)==t(116)
116.) o(111)==o(111)
117.) (32)== (32)
118.) l(108)==l(108)
119.) i(105)==i(105)
120.) s(115)==s(115)
121.) t(116)==t(116)
122.) e(101)==e(101)
123.) n(110)==n(110)
124.) (32)== (32)
125.) t(116)==t(116)
126.) o(111)==o(111)
127.) (32)== (32)
128.) y(121)==y(121)
129.) o(111)==o(111)
130.) u(117)==u(117)
131.) r(114)==r(114)
132.) (32)== (32)
133.) m(109)==m(109)
134.) u(117)==u(117)
135.) s(115)==s(115)
136.) i(105)==i(105)
137.) c(99)==c(99)
138.) (32)== (32)
139.) a(97)==a(97)
140.) n(110)==n(110)
141.) d(100)==d(100)
142.) (32)== (32)
143.) C(67)==C(67)
144.) D(68)==D(68)
145.) \(92)=='(39)
146.) '(39)==s(115)
147.) s(115)== (32)
148.) (32)==w(119)
149.) w(119)==h(104)
150.) h(104)==i(105)
151.) i(105)==l(108)
152.) l(108)==e(101)
153.) e(101)== (32)
154.) (32)==y(121)
155.) y(121)==o(111)
156.) o(111)==u(117)
157.) u(117)== (32)
158.) (32)==w(119)
159.) w(119)==o(111)
160.) o(111)==r(114)
161.) r(114)==k(107)
162.) k(107)==,(44)
163.) ,(44)== (32)
164.) (32)==w(119)
165.) w(119)==a(97)
166.) a(97)==t(116)
167.) t(116)==c(99)
168.) c(99)==h(104)
169.) h(104)== (32)
170.) (32)==s(115)
171.) s(115)==m(109)
172.) m(109)==a(97)
173.) a(97)==l(108)
174.) l(108)==l(108)
175.) l(108)== (32)
176.) (32)==f(102)
177.) f(102)==i(105)
178.) i(105)==l(108)
179.) l(108)==m(109)
180.) m(109)==s(115)
181.) s(115)== (32)
182.) (32)==a(97)
183.) a(97)==n(110)
184.) n(110)==d(100)
185.) d(100)== (32)
186.) (32)==c(99)
187.) c(99)==l(108)
188.) l(108)==i(105)
189.) i(105)==p(112)
190.) p(112)==s(115)
191.) s(115)== (32)
192.) (32)==o(111)
193.) o(111)==n(110)
194.) n(110)==l(108)
195.) l(108)==i(105)
196.) i(105)==n(110)
197.) n(110)==e(101)
198.) e(101)== (32)
199.) (32)==a(97)
200.) a(97)==n(110)
201.) n(110)==d(100)
202.) d(100)== (32)
203.) (32)==t(116)
204.) t(116)==h(104)
205.) h(104)==e(101)
206.) e(101)==y(121)
207.) y(121)== (32)
208.) (32)==e(101)
209.) e(101)==v(118)
210.) v(118)==e(101)
211.) e(101)==n(110)
212.) n(110)== (32)
213.) (32)==o(111)
214.) o(111)==f(102)
215.) f(102)==f(102)
216.) f(102)==e(101)
217.) e(101)==r(114)
218.) r(114)== (32)
219.) (32)==e(101)
220.) e(101)==n(110)
221.) n(110)==o(111)
222.) o(111)==u(117)
223.) u(117)==g(103)
224.) g(103)==h(104)
225.) h(104)== (32)
226.) (32)==p(112)
227.) p(112)==e(101)
228.) e(101)==r(114)
229.) r(114)==f(102)
230.) f(102)==o(111)
231.) o(111)==r(114)
232.) r(114)==m(109)
233.) m(109)==a(97)
234.) a(97)==n(110)
235.) n(110)==c(99)
236.) c(99)==e(101)
237.) e(101)== (32)
238.) (32)==t(116)
239.) t(116)==o(111)
240.) o(111)== (32)
241.) (32)==w(119)
242.) w(119)==a(97)
243.) a(97)==t(116)
244.) t(116)==c(99)
245.) c(99)==h(104)
246.) h(104)== (32)
247.) (32)==D(68)
248.) D(68)==V(86)
249.) V(86)==D(68)
250.) D(68)== (32)
251.) (32)==m(109)
252.) m(109)==o(111)
253.) o(111)==v(118)
254.) v(118)==i(105)
255.) i(105)==e(101)
256.) e(101)==s(115)
257.) s(115)== (32)
258.) (32)==((40)
259.) ((40)==w(119)
260.) w(119)==h(104)
261.) h(104)==e(101)
262.) e(101)==n(110)
263.) n(110)== (32)
264.) (32)==u(117)
265.) u(117)==p(112)
266.) p(112)==g(103)
267.) g(103)==r(114)
268.) r(114)==a(97)
269.) a(97)==d(100)
270.) d(100)==e(101)
271.) e(101)==d(100)
272.) d(100)== (32)
273.) (32)==w(119)
274.) w(119)==i(105)
275.) i(105)==t(116)
276.) t(116)==h(104)
277.) h(104)== (32)
278.) (32)==a(97)
279.) a(97)== (32)
280.) (32)==c(99)
281.) c(99)==o(111)
282.) o(111)==m(109)
283.) m(109)==p(112)
284.) p(112)==a(97)
285.) a(97)==t(116)
286.) t(116)==i(105)
287.) i(105)==b(98)
288.) b(98)==l(108)
289.) l(108)==e(101)
290.) e(101)== (32)
291.) (32)==D(68)
292.) D(68)==V(86)
293.) V(86)==D(68)
294.) D(68)==-(45)
295.) -(45)==R(82)
296.) R(82)==O(79)
297.) O(79)==M(77)
298.) M(77)== (32)
299.) (32)==d(100)
300.) d(100)==r(114)
301.) r(114)==i(105)
302.) i(105)==v(118)
303.) v(118)==e(101)
304.) e(101)==,(44)
305.) ,(44)== (32)
306.) (32)==p(112)
307.) p(112)==l(108)
308.) l(108)==e(101)
309.) e(101)==a(97)
310.) a(97)==s(115)
311.) s(115)==e(101)
312.) e(101)== (32)
313.) (32)==a(97)
314.) a(97)==s(115)
315.) s(115)==k(107)
316.) k(107)== (32)
317.) (32)==f(102)
318.) f(102)==o(111)
319.) o(111)==r(114)
320.) r(114)== (32)
321.) (32)==d(100)
322.) d(100)==e(101)
323.) e(101)==t(116)
324.) t(116)==a(97)
325.) a(97)==i(105)
326.) i(105)==l(108)
327.) l(108)==s(115)
328.) s(115)==)(41)
329.) )(41)==.(46)
330.) .(46)== (32)
331.) (32)==T(84)
332.) T(84)==h(104)
333.) h(104)==e(101)
334.) e(101)== (32)
335.) (32)==J(74)
336.) J(74)==-(45)
337.) -(45)==P(80)
338.) P(80)==l(108)
339.) l(108)==u(117)
340.) u(117)==s(115)
341.) s(115)== (32)
342.) (32)==c(99)
343.) c(99)==o(111)
344.) o(111)==m(109)
345.) m(109)==e(101)
346.) e(101)==s(115)
347.) s(115)== (32)
348.) (32)==p(112)
349.) p(112)==a(97)
350.) a(97)==c(99)
351.) c(99)==k(107)
352.) k(107)==a(97)
353.) a(97)==g(103)
354.) g(103)==e(101)
355.) e(101)==d(100)
356.) d(100)== (32)
357.) (32)==w(119)
358.) w(119)==i(105)
359.) i(105)==t(116)
360.) t(116)==h(104)
361.) h(104)== (32)
362.) (32)==t(116)
363.) t(116)==h(104)
364.) h(104)==e(101)
365.) e(101)== (32)
366.) (32)==U(85)
367.) U(85)==b(98)
368.) b(98)==u(117)
369.) u(117)==n(110)
370.) n(110)==t(116)
371.) t(116)==u(117)
372.) u(117)== (32)
373.) (32)==o(111)
374.) o(111)==p(112)
375.) p(112)==e(101)
376.) e(101)==r(114)
377.) r(114)==a(97)
378.) a(97)==t(116)
379.) t(116)==i(105)
380.) i(105)==n(110)
381.) n(110)==g(103)
382.) g(103)== (32)
383.) (32)==s(115)
384.) s(115)==y(121)
385.) y(121)==s(115)
386.) s(115)==t(116)
387.) t(116)==e(101)
388.) e(101)==m(109)
389.) m(109)==,(44)
390.) ,(44)== (32)
391.) (32)==a(97)
392.) a(97)== (32)
393.) (32)==f(102)
394.) f(102)==r(114)
395.) r(114)==e(101)
396.) e(101)==e(101)
397.) e(101)== (32)
398.) (32)==a(97)
399.) a(97)==l(108)
400.) l(108)==t(116)
401.) t(116)==e(101)
402.) e(101)==r(114)
403.) r(114)==n(110)
404.) n(110)==a(97)
405.) a(97)==t(116)
406.) t(116)==i(105)
407.) i(105)==v(118)
408.) v(118)==e(101)
409.) e(101)== (32)
410.) (32)==t(116)
411.) t(116)==o(111)
412.) o(111)== (32)
413.) (32)==t(116)
414.) t(116)==h(104)
415.) h(104)==e(101)
416.) e(101)== (32)
417.) (32)==M(77)
418.) M(77)==i(105)
419.) i(105)==c(99)
420.) c(99)==r(114)
421.) r(114)==o(111)
422.) o(111)==s(115)
423.) s(115)==o(111)
424.) o(111)==f(102)
425.) f(102)==t(116)
426.) t(116)== (32)
427.) (32)==W(87)
428.) W(87)==i(105)
429.) i(105)==n(110)
430.) n(110)==d(100)
431.) d(100)==o(111)
432.) o(111)==w(119)
433.) w(119)==s(115)
434.) s(115)== (32)
435.) (32)==o(111)
436.) o(111)==p(112)
437.) p(112)==e(101)
438.) e(101)==r(114)
439.) r(114)==a(97)
440.) a(97)==t(116)
441.) t(116)==i(105)
442.) i(105)==n(110)
443.) n(110)==g(103)
444.) g(103)== (32)
445.) (32)==s(115)
446.) s(115)==y(121)
447.) y(121)==s(115)
448.) s(115)==t(116)
449.) t(116)==e(101)
450.) e(101)==m(109)
451.) m(109)==.(46)

mlse
11-14-2007, 05:11 PM
I have never used it myself, but perhaps the recode_string built-in might work?

rpgfan3233
11-14-2007, 05:11 PM
There is a ' character in there. I'm not sure which side is the POST and which is the SQL, but I'm willing to bet that strings are stored with quotation marks escaped.

This is where I found it to mess up:
145.) \(92)=='(39)
146.) '(39)==s(115)

Note how it has a '\' character? Apparently, you escape them or a function escapes them.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum