Oraclerowid returns invalid rowid in parameter passing through the url.
On a page in the business system, the rowid is invalid when you click the link. When I use two SQL statements to find the problem, I find that it is not an SQL problem, but since rowid is invalid, it must be a rowid problem. After careful research, we found that there are special characters in rowid. Learn about rowid in oracle in this blog. It is found that rowid after oracle 8i is composed of A-Z, a-z, +, \, And the rowid I found is good with the '+' character, the '+' character is automatically converted to a space during parameter passing through the url. As a result, the plus sign in the uploaded rowid is converted to a space, which leads to this problem. So how can we solve this problem? Are there two solutions available? 1. the rowid parameter in the url is encoded using the encode function. java or JavaScript encoding functions are acceptable. Do not decode the parameter when it is uploaded to the background, because the browser automatically decodes parameters once. If decode is used again, this problem cannot be solved.
2. In the background, replace all the spaces in the rowid parameter with +, so that the rowid is the same once and once again.