WebService special character escape
When soap messages request Webservice, they often encounter special characters and cause interface errors; in this case, escaping is required;
Common escape characters are as follows:
& | & | with |
' | ' | apostrophe |
" | " | Double quotes |
> | > | Greater than |
< | < | Less than sign |
If the escaped data is processed on the front-end such as js, the symbols before the escape will be displayed normally, and no further processing is required;
https://www.w3cschool.cn/oraclejc/oraclejc-ruyk2r6p.html
Oracle processing method:
CREATE OR REPLACE Function ZLXA_TransferResponse
(
resText In Varchar2
)
Return Varchar2 As
--作者: 王大聖
--时间:2021-01-22
--功能:调用WebService后存在大量的& & 和' ' 单引号" " 双引号> > 大于号< < 小于号
--实现: 转义
l_returnXML Varchar2(32767) := '';
v_AT Varchar2(2);
Begin
If resText Is Null Or Length(resText) <=0 Then
Return '';
End If;
v_AT := chr(38);
l_returnXML := Replace(resText, v_AT || 'amp;', v_AT); --& 为 &
l_returnXML := Replace(l_returnXML, v_AT || 'apos;', Chr(39)); --' 为 '
l_returnXML := Replace(l_returnXML, v_AT || 'quot;', Chr(34)); --" 为 "
l_returnXML := Replace(l_returnXML, v_AT || 'gt;', Chr(62)); --> 为 >
l_returnXML := Replace(l_returnXML, v_AT || 'lt;', Chr(60)); --< 为 <
Return l_returnXML;
Exception
When Others Then
Return resText;
End;
/*Create Public Synonym ZLXA_TRANSFERRESPONSE For ZLHIS.ZLXA_TRANSFERRESPONSE;
Grant Execute On ZLXA_TRANSFERRESPONSE To Public; */
Related Oracle function introduction: Chr function
The Oracle Chr() function can return characters according to the numeric code, and its function is opposite to the ASCII function.
Apply to
The CHR() function can be used in the following versions of Oracle:
Oracle 12c、Oracle 11g、Oracle 10g、Oracle 9i
CHR() has a corresponding function ASCII(), which can achieve the opposite effect.
ASCII() - convert characters to ASCII code
Syntax
ASCII (single_character)
example
select ASCII('A') from dual; - return 65
ASCII table
Dec | Hex | Oct | Char | Description |
---|---|---|---|---|
0 | 0 | 000 | null | |
1 | 1 | 001 | start of heading | |
2 | 2 | 002 | start of text | |
3 | 3 | 003 | end of text | |
4 | 4 | 004 | end of transmission | |
5 | 5 | 005 | enquiry | |
6 | 6 | 006 | acknowledge | |
7 | 7 | 007 | bell | |
8 | 8 | 010 | backspace | |
9 | 9 | 011 | horizontal tab | |
10 | A | 012 | new line | |
11 | B | 013 | vertical tab | |
12 | C | 014 | new page | |
13 | D | 015 | carriage return | |
14 | E | 016 | shift out | |
15 | F | 017 | shift in | |
16 | 10 | 020 | data link escape | |
17 | 11 | 021 | device control 1 | |
18 | 12 | 022 | device control 2 | |
19 | 13 | 023 | device control 3 | |
20 | 14 | 024 | device control 4 | |
21 | 15 | 025 | negative acknowledge | |
22 | 16 | 026 | synchronous idle | |
23 | 17 | 027 | end of trans. block | |
24 | 18 | 030 | cancel | |
25 | 19 | 031 | end of medium | |
26 | 1A | 032 | substitute | |
27 | 1B | 033 | escape | |
28 | 1C | 034 | file separator | |
29 | 1D | 035 | group separator | |
30 | 1E | 036 | record separator | |
31 | 1F | 037 | unit separator | |
32 | 20 | 040 | space | |
33 | 21 | 041 | ! | |
34 | 22 | 042 | " | |
35 | 23 | 043 | # | |
36 | 24 | 044 | $ | |
37 | 25 | 045 | % | |
38 | 26 | 046 | & | |
39 | 27 | 047 | ' | |
40 | 28 | 050 | ( | |
41 | 29 | 051 | ) | |
42 | 2A | 052 | * | |
43 | 2B | 053 | + | |
44 | 2C | 054 | , | |
45 | 2D | 055 | - | |
46 | 2E | 056 | . | |
47 | 2F | 057 | / | |
48 | 30 | 060 | 0 | |
49 | 31 | 061 | 1 | |
50 | 32 | 062 | 2 | |
51 | 33 | 063 | 3 | |
52 | 34 | 064 | 4 | |
53 | 35 | 065 | 5 | |
54 | 36 | 066 | 6 | |
55 | 37 | 067 | 7 | |
56 | 38 | 070 | 8 | |
57 | 39 | 071 | 9 | |
58 | 3A | 072 | : | |
59 | 3B | 073 | ; | |
60 | 3C | 074 | < | |
61 | 3D | 075 | = | |
62 | 3e | 076 | > | |
63 | 3F | 077 | ? | |
64 | 40 | 100 | @ | |
65 | 41 | 101 | A | |
66 | 42 | 102 | B | |
67 | 43 | 103 | C | |
68 | 44 | 104 | D | |
69 | 45 | 105 | E | |
70 | 46 | 106 | F | |
71 | 47 | 107 | G | |
72 | 48 | 110 | H | |
73 | 49 | 111 | I | |
74 | 4A | 112 | J | |
75 | 4B | 113 | K | |
76 | 4C | 114 | L | |
77 | 4D | 115 | M | |
78 | 4E | 116 | N | |
79 | 4F | 117 | O | |
80 | 50 | 120 | P | |
81 | 51 | 121 | Q | |
82 | 52 | 122 | R | |
83 | 53 | 123 | S | |
84 | 54 | 124 | T | |
85 | 55 | 125 | U | |
86 | 56 | 126 | V | |
87 | 57 | 127 | W | |
88 | 58 | 130 | X | |
89 | 59 | 131 | AND | |
90 | 5a | 132 | WITH | |
91 | 5B | 133 | [ | |
92 | 5C | 134 | \ | |
93 | 5D | 135 | ] | |
94 | 5e | 136 | ^ | |
95 | 5F | 137 | _ | |
96 | 60 | 140 | ` | |
97 | 61 | 141 | a | |
98 | 62 | 142 | b | |
99 | 63 | 143 | c | |
100 | 64 | 144 | d | |
101 | 65 | 145 | e | |
102 | 66 | 146 | f | |
103 | 67 | 147 | g | |
104 | 68 | 150 | h | |
105 | 69 | 151 | i | |
106 | 6A | 152 | j | |
107 | 6B | 153 | k | |
108 | 6C | 154 | l | |
109 | 6D | 155 | m | |
110 | 6E | 156 | n | |
111 | 6F | 157 | o | |
112 | 70 | 160 | p | |
113 | 71 | 161 | q | |
114 | 72 | 162 | r | |
115 | 73 | 163 | s | |
116 | 74 | 164 | t | |
117 | 75 | 165 | u | |
118 | 76 | 166 | v | |
119 | 77 | 167 | w | |
120 | 78 | 170 | x | |
121 | 79 | 171 | y | |
122 | 7A | 172 | z | |
123 | 7B | 173 | { | |
124 | 7C | 174 | | | |
125 | 7D | 175 | } | |
126 | 7E | 176 | ~ | |
127 | 7F | 177 | DEL |