Escape characters such as \n dont work??
Im taking a string eg "Hello \n World" from an xml file.
However when I system out the resulting string I get
Hello \n World
whereas I'd expect
Hello
World
Anyway round this??
I'd appreciate any input.
That's really quite strange, of course escape sequences work. When you write \n to a file, it should not take it litteraly unless you're doing this ---> "\\n", if there is a backslash before the escape sequence, it will ignore the escape sequence and do it litteraly. You should remember though, that Java is meant to be platform independant, so you should use it platform independantly:
private String endl = System.getProperty("line.separator");
Now you can append endl to any string, and it should be that platform's specific line separator.
StringBuffer myBuf = new StringBuffer();
myBuff.append("Hello World!").append(endl).append("My name is Bob!");
System.out.println(myBuf.toString());
Similar Messages
-
Frank, Dublin, Ireland
Sorry once you have upgraded you can't downgrade IOS. This is not supported by Apple.
Suggest you restore your iphone. -
Text to speech not working with characters such as quotes? Any ideas
text to speech not working with characters such as quotes? Any ideas
Hi linz-kirby
I posted this (link) https://discussions.apple.com/message/27015600?ac_cid=op123456#27015600 -
Bug in replace all. escape characters are not working.
Hi,
My requirement is that whenever i see ":" (Colon) in the string then i want to replace it with (\:). So i tried
String escapedTitle = "title:the world is not enough".replace(":", "\\:")
and to my surprise, when i printed escapedTitle i got
title\\:the world is not enough
instead of
title\:the world is not enough
(note the back slash in the string)
I want to ask why there is a different beehavious of escape characters? I am using JDK1.6.0_06Sorry for the last post. Please try this:
public class test
public static void main(String a[])
String escapedTitle = "title:the world is not enough".replaceAll(":+", "\\:"); //or [:]+
String escapedTitle1 = "title:the world is not enough".replaceAll(":+", "*"); // or [:]+
System.out.println("Another String is "+ escapedTitle);
System.out.println("Another String is "+ escapedTitle1);
System.out.println(System.getProperty("java.vendor"));
System.out.println(System.getProperty("java.version"));
output is
Another String is title:the world is not enough
Another String is titlethe* world is not enough
Sun Microsystems Inc.
1.6.0_06
Please let me know why i am not getting : as escaped (\:) with replaceAll method.
i want string escapedTitle as Another String is title*\:*the world is not enough -
How to handle special characters such as apostrophe, ampersant
Hello All,
Tools:
JSP, JSDK 2
Oracle 8
Issue:
If the user supplies a String value inside a text box which has special characters such as apostrophe, while we try to compare that string with some value in the database, the sql error comes up as the sql string will be broken.
Example:
input string--> ABC D'OLL
sql --> "select * from verndor where vendor_name ='ABC D'OLL' "
Present solution:
I am reading each input string & look for such special characters. if so, replaces that character with escape character + that character.
This solution works.
Problem:
If there any more efficient way to handle such character??
At java level or Database level
Thanks In advance :)Use PreparedStatements
-
Evaluation of escape characters
I'm convinced there has got to be an easy way to do this, but I am too frustrated at this point to continue fighting it... I would much appreciate anyone's help.
Let me use code to explain what I need help with.
I have a String that contains the right hand side of a java String assignment. To simulate this:
String rightHandSide = "\"line1\\nline2\\nline3\""so a println of rightHandSide LITERALLY displays:
"line1\nline2\nline3"
(notice the quotes and "escape characters" are are actually literal characters).
I want to be able assign the evaluation/interpretation of this String to a String variable, such that:
String escValue = workMagic(rightHandSide)is equivalent to:
String escValue = "line1\nline2\nline3"Can anyone offer a simple solution to this problem? If the only solution involves writing my own parser, etc, I will just give up for now and work around this issue. However, it seems like there should be an easy way to do this?
Thanks in advance for any and all help!Not too sure if this is what you wanted:
workMagic.java
============
public class workMagic {
public static void main(String[] args) {
String rightHandSide = "\"line1\\nline2\\nline3\"";
String escValue = workMagic(rightHandSide);
System.out.println(escValue);
public static String workMagic(String in) {
String out="";
int k;
int j=0;
while (j<in.length()) {
if (in.charAt(j)=='\\') {
j++;
if (j<in.length()) {
if (in.charAt(j)!='\\') out+="\\"+in.charAt(j);
else j--;
} else out+='\\';
} else if (in.charAt(j)!='\"') out+=in.charAt(j);
j++;
return out;
}V.V. -
Escape characters using Oracle JDBC
We use Oracle JDBC driver to do some operations on an Oracle 9i database, and ran into some problems with escape characters. Basically we'd like to escape the _ and % characters.
The following two example statements both work:
ResultSet rs = stmt.executeQuery("select * from identifier_protein where upper(IDENTIFIER_ACCNO) like 'NM\\_%' escape '\\' ");
ResultSet rs = stmt.executeQuery("select * from identifier_protein where upper(IDENTIFIER_ACCNO) like 'NM\\_%' {escape '\\' }");
However, when we have multiple query terms and the "escape" clause doesn't immediately follows EACH "like" clause, we got errors saying the sql statement does not end properly. One such example is the following:
ResultSet rs = stmt.executeQuery("select * from identifier_protein where upper(IDENTIFIER_ACCNO) like 'NM\\_%' and creator = 'ABC' {escape '\\'} ");
If we put an "escape" clause following each "like" clause, then it works.
My question is, is there a smart way of letting JDBC knows that you want to use an escape character everywhere in the query? We often do very complicated dynamic queries, frequently with table joins and boolean logic and subqueries with tons of query terms. Trying to add the escape clause to each "like" clause is very painful. Any help is highly appreciated. Thanks!
BLI'd use PreparedStatements, if you're not already. Let the JDBC driver escape things properly for you. That's what the setString() and setDate() methods are all about.
-
Help me out here! i'm having a problem updating our database with this call:
update table
set name = 'dave's store'
where id = '2';
The problem of course is that single quote in the name. i've check many sites and have tired everything.
-i have tried to escape the quote with a back (and forward!) slash, and nothing.
-i have padded the quote with another single quite (ie ''), but that doesn't work.
-i have have nearly all combinations of single and double quotes, with and without escape characters!
according to the documention, just the blackslash so be fine! any one have this problem as well?
any help would be greatly appreciated! thanks.Very related question.
Is there a way to make sure that all 'weird' characters in an SQL statement are escaped properly before the statement is executed?
I'm hoping that there is a method like this:
Statement stmt = stmt.escapeAllBadChars();
Is there such a method anywhere?
I can't find it anywhere :(
If not, is there a list of all 'bad characters' anywhere?
Thanks,
Otis
null -
How can I use escaped-characters in an option
I have the following code that is used to retrieve city-names including parent-child relations from a database and place them in an array:
<%@ page contentType="application/x-javascript" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<sql:setDataSource dataSource="jdbc/KADOS" var="Raak" scope="session" />
<sql:query var="bewaringSQL" dataSource="${Raak}">
SELECT bewaringcode, vestigingsplaats FROM BEWARING order by vestigingsplaats
</sql:query>
bewaringen = new Array(
<c:forEach items="${bewaringSQL.rows}" var="plaats" varStatus="s" >
new Array( "<c:out value="${plaats.BEWARINGCODE}" />",
"<c:out value="${plaats.VESTIGINGSPLAATS}" />" )
<c:if test="${not s.last}">,</c:if>
</c:forEach>
i=0;
<c:forEach items="${bewaringSQL.rows}" var="plaats" varStatus="s" >
<sql:query var="bewaringGemSQL" dataSource="${Raak}" sql="SELECT KADGEMCODE, KGMNAAM FROM KADGEMEENTE where BEWARINGCODE=? order by KGMNAAM">
<sql:param value="${plaats.BEWARINGCODE}" />
</sql:query>
tmp = new Array(
<c:forEach items="${bewaringGemSQL.rows}" var="gem" varStatus="s" >
new Array( "<c:out value="${gem.KGMNAAM}" />",
"<c:out value="${gem.KADGEMCODE}" />" )
<c:if test="${not s.last}">,</c:if>
</c:forEach>
bewaringen[2] = tmp;
i = i+1;
</c:forEach>
function bewaringenList(selectCtrl, itemArray) {
for (i=0; i<itemArray.length; i++) {
selectCtrl.options[i] = new Option(itemArray[i][1]);
selectCtrl.options[i].value = itemArray[i][0];
function setList(selectCtrl, itemArray) {
for (i=selectCtrl.options.length; i>=0; i--) {
selectCtrl.options[i] = null;
for (i=0; i<itemArray.length; i++) {
optie = filter(itemArray[i][0]);
selectCtrl.options[i] = new Option(optie);
selectCtrl.options[i].value = itemArray[i][1];
function filter( invoer) {
retour = invoer;
retour = retour.replace("'", "\'");
return retour;
The function 'bewaringenList' populates a <SELECT> with parent-names and
"setList(document.VraagForm.gemSelect, bewaringen[this.selectedIndex][2]);" populates the depending <SELECT> with child-names.
Some names contain single quotes (like "'t Zandt") and are displayd in the select-box as "'t Zandt".
I expected that the quotes could be replaced by escape-characters by 'filter(invoer)' but this does not work.
Is there a generic way to show these characters?
BenI don't understand why but this filter solved the problem:
function filter( invoer) {
retour = invoer;
retour = retour.replace("'", "'");
return retour; -
Issue with escaping characters and php
Greetings,
We are working on a web page using php and Oracle. We have troubles dealing with the diferent escaping characters when inserting/retrieving data (magic quotes is on but adding the backslash doesn't help :( ).
We would like to know the correct way of dealing with those characters ( ' " / /n ...).
Thank you in advance,
Sincerely,
Oriol NonellDo NOT use addslashes/stripslashes to escape your queries. I use this function to do the escaping:
function escapeSQL($string, $wildcard=false)
$result = str_replace("'","''",$string);
if ($wildcard == true) $result = str_replace("%","%%",$result);
return $result;
It basically replaces ' with ''.
If you set $wildcard to false, then '%' is considered to be an actual '%' (for 'like' expressions). If you set it to true, a % is escaped to %% too. -
Web Logic 10.3 upgrade causes issues with escaped characters in JSP.
We recently upgraded our application servers from Weblogic 9.2 to Weblogic 10.3 and we are having an issue with escaped characters in a JSP code. Here is an example of what we are seeing:
var convertedBody1 = document.getElementById('body').value.replace(/\$FIRST_NAME\$/g, firstName);
This code works in Weblogic 9.2. In Weblogic 10.3 we have to make the following changes:
var convertedBody1 = document.getElementById('body').value.replace(/\$FIRST_NAME\$/g, firstName);
Thanks, TomHi:
I have resolved the issue with the following in the jspx page.
Put an
<jsp:scriptlet>
response.setContentType(“text/html; charset=UTF-8”);
</jsp:scriptlet>
Inside the <f:view> on the jspx file.
Please refer the link http://www.oracle.com/global/il/support/tip/nlss11061.html for more details. It is helpful.
Thanks & Regards
Sridhar Doki -
VLD-1141, Template cannot contain escape characters.
Hi All,
I need help about mapping deployment. I am working on a mapping. I can deploy it before to 9i target location. But after upgrading target database to 10g, I get the error VLD-1141 when I deploy it. The detail is Template cannot contain escape characters.
And the full error message is as following:
VLD-1141: Internal error during mapping generation.
java.lang.IllegalArgumentException: Template cannot contain escape characters.
at oracle.wh.util.expr.WBLiteralExpression.<init>(WBLiteralExpression.java:34)
at oracle.wh.service.impl.mapping.component.transforms.GenericTransformGenerationDelegate.addContextExpressionsForGroups(GenericTransformGenerationDelegate.java:345)
at oracle.wh.service.impl.mapping.component.transforms.GenericTransformGenerationDelegate.prepareOutputContextPlSql(GenericTransformGenerationDelegate.java:1433)
at oracle.wh.service.impl.mapping.component.transforms.GenericTransformPlSqlDelegate.prepareOutputContext(GenericTransformPlSqlDelegate.java:147)
at oracle.wh.service.impl.mapping.generation.WBMappingGenerator.generate(WBMappingGenerator.java:239)
at oracle.wh.service.impl.mapping.generation.PlSqlGenerationMediator.assembleCursorLoopInternal(PlSqlGenerationMediator.java:3206)
at oracle.wh.service.impl.mapping.generation.PlSqlGenerationMediator.assembleCursorLoop(PlSqlGenerationMediator.java:3190)
at oracle.wh.service.impl.mapping.generation.PlSqlGenerationMediator.assembleRowBased(PlSqlGenerationMediator.java:3115)
at oracle.wh.service.impl.mapping.generation.PlSqlGenerationMediator.assemble(PlSqlGenerationMediator.java:538)
at oracle.wh.service.impl.mapping.generation.WBMappingGenerator.generate(WBMappingGenerator.java:770)
at oracle.wh.service.impl.mapping.generation.WBMappingGenerator.generate(WBMappingGenerator.java:316)
at oracle.wh.service.impl.mapping.generation.WBDeployableMappingGenerator.generate(WBDeployableMappingGenerator.java:99)
at oracle.wh.service.impl.generation.common.WBGenerationService.generateCode(WBGenerationService.java:433)
at oracle.wh.service.impl.generation.common.WBGenerationService.generateCode(WBGenerationService.java:311)
at oracle.wh.service.impl.generation.service.WhValidationGenerationTransaction.run(WhValidationGenerationTransaction.java:241)There are to bugs:
Bug 5403652 - ERROR 'TEMPLATE CANNOT CONTAIN ESCAPE CHARACTERS' WHEN VALIDATING A MAPPING
Bug 5561224 - MIGRATION OF MAPPING REQUIRES CHANGE IN CONFIG TO ALLOW VALIDATION
against OWB 10.2.0.1
but these bugs are fixed from 10.2.0.2
The bug is related to pre/post mapping operators...
If you are on 10.2.0.3 or your mapping does not have these operators then have no clue... -
Displaying unicode or HTML escaped characters from HTTPService in Flex components.
Here is a solution on the Flex Cookbook I developed for
displaying data in Flex components when the data comes back from
HTTPService as unicode of HTML escaped data:
Displaying
unicode or HTML escaped characters from HTTPService in Flex
components.Hi again Greg,
I have just been adapting your idea for encountering
occasional escaped characters within a body of "normal" text, eg
something like
hellô sunšine
Now, the handy String.fromCharCode(charCode) call works a
dream if instead of the above I have
hellô sunšine
Do you know if there is an equivalent call that takes the
named entities rather than the numeric ones? Clearly I can just do
some text substitution to get the mapping, but this means rather
more by-hand work than I had hoped. However, this is definitely a
step in a useful direction for me.
Thanks,
Richard
PS hoping that the web page won't simply outguess me and
replace all the above! Basically, the first line uses named
entities and the second the equivalent numbers... -
XML Escape Characters prob.
data Unload fonction is ok but when i try to load data from xml i get
:XML parsing failed ORA-19202
i noticed that removing Characters like &apos makes it work.
any solutions?the table:
CREATE TABLE "PROVA"
( "ID" NUMBER(9,0) NOT NULL ENABLE,
"DESCRIZIONE" VARCHAR2(50),
"FONDI" NUMBER(6,2),
CONSTRAINT "PROVA_PK" PRIMARY KEY ("ID") ENABLE
CREATE OR REPLACE TRIGGER "BI_PROVA"
before insert on "PROVA"
for each row
begin
select "PROVA_SEQ".nextval into :NEW.ID from dual;
end;
ALTER TRIGGER "BI_PROVA" ENABLE
working xml:
<?xml version="1.0"?>
<ROWSET>
<ROW>
<ID>43</ID>
<DESCRIZIONE>prova1</DESCRIZIONE>
<FONDI>111</FONDI>
</ROW>
</ROWSET>
xml with error:
<?xml version="1.0"?>
<ROWSET>
<ROW>
<ID>44</ID>
<DESCRIZIONE>prova1</DESCRIZIONE>
<FONDI>111</FONDI>
</ROW>
<ROW>
<ID>45</ID>
<DESCRIZIONE>FACOLTA' DI MEDICINA</DESCRIZIONE>
<FONDI>3333</FONDI>
</ROW>
</ROWSET>
FACOLTA' is the escape for FACOLTA' (the xml is generated by oracle)
i think that is the problem. -
Dealing with escape characters
I have a command that works if I represent it as "\003"+command+"\r" because my command needs to be preceded by the char 'x03' and tailed by the char 'x0d'. The literals "\003" and "\r" are being converted as I wish into their equivalent byte values.
If I use Java string variables 'start' and 'end' to hold the values "\003" and "\r" and I issue my command as 'start+command+end', the start and end values are NOT converted into byte values. They remain represented as they are written i.e my string command is preceded by '\003' and ends with '\r'.
How can I convert escape characters stored in string variable into their byte equivalents?
DavidPlease show us the code, because what you say isn't clear. If the Strings are written as
String start = "\003"; // etx
String end = "\r"; //crIt should work.
Often this sort of thing is easier to do with character variable. eg.
char start = 3; // etx
char end = 13; // crI also wonder why you are using etx (end of text) as the start of text, the usual choice would be stx=\002. Also, none of this has anything to do with "byte" values, they are characters and take 2 bytes each. Your network code can do that conversion for you after you choose your character set. Is it UTF8, Latin-1, or some other.
Maybe you are looking for
-
i have an ASA 5520 ver 8.4 with the following config WAN 207.211.25.34 Production 10.11.12.1 255.255.255.0 Mgmt 10.11.11.1 255.255.255.0 i need to create a peer-2-peer VPN to a remote site ASP16 from both Prod and Mgmt what would my nat statement loo
-
To whoever it may concern I havel always used windows PC's and I recently bought a Mac Book Pro due to Apple's great movie program. I enjoy making movies, and very much enjoy to make my own films. I was deeply surprised to find that my new mac does n
-
Artifacts when I import .avi file to After Effects (and Premiere)
Hi, I'm having some issues with After Effects that I can't figure out. I've got a video file in .avi that loads and plays fine by itself, but when I import it to edit in After Effects 5.5, I get strange artifacts during playback, and they even transl
-
I have an HP Pavilion a1035c desktop. I am trying to install a Hitachi 2TB drive. The drive was cloned from the original drive in the system using Norton Ghost. As an additional drive on the computer everything seems fine but when I try to boot up
-
I've searched these forums for help with my situation and tried the hdituil suggestions but, so far, nothing has worked. I'll give you the short version: I copied our music and photo libraries to our laptop internal drive so we could have them with u