2012-11-21 3 views
0

이 문제가 있습니다. 웹 페이지에서 href 타겟으로 사용되는 데이터베이스 필드에 저장된 javascript가 있습니다.자바 스크립트 및 html 문자가 이스케이프 처리됩니다.

insert into table_with_links (id, url) 
     values (1, 'javascript:var url="blö blö";.....'); 

// run scripts that use the database values to generate web pages 

// part of the generated html code: 
<a href="javascript:var url='blabla';..... </a> 

지금까지 문제가 없습니다. 자바 스크립트에 독일어 문자 (Umlaute - 예 : ö)가 있습니다. 나는 데이터베이스에 독일 편지를 저장하지해야, 그래서 그들을 탈출 :

insert into table_with_links (id, url) 
     values (1, 'javascript:var url="bl%F6 bl%F6";.....'); 

이제 문제가 온다 - 나도 데이터베이스의 % 기호를 저장하지 말아야의를 생성하는 스크립트 때문에 웹 페이지가 제대로 처리 할 수 ​​없습니다. 나는이 스크립트들이 제 3의 파티 스크립트이고 변경 될 수 없다는 것을 상상할 수 있다고 생각합니다.

그래서 내 질문은 - 도 % 기호를 벗어날 수 있습니까?

+1

(/ O/g의 끝 부분에있는 g 문자열에서 모든 항목을 대체하는 것입니다) 어떤 데이터베이스를 사용하고 있습니까? 많은 데이터베이스가 유니 코드 문자 집합을 지원합니다. 어쩌면 데이터베이스 – jeremy

+0

을 oracle로 전환해야하지만, 독일어 문자를 저장할 때 다른 불일치가있을 수 있습니다. 그래서 기술적으로 가능하지만 그렇게해서는 안됩니다. – user1414745

답변

2

tryed this? 여기

var str= "remove the %"; 
var str_n = str.replace("%",""); 

는 기본 사항 http://www.w3schools.com/jsref/jsref_replace.asp

다음 여기를 살펴 대체 할 문자의 배열을 사용할 수 있습니다 javascript replace globally with array

+2

IMHO, w3schools는 * anything *에 대한 [신뢰할 수있는 참고 문헌] (http://w3fools.com/)이 아닙니다. –

+0

무엇을 의미합니까? w3c는 표준을위한 다른 사이트가 없습니다 – sbaaaang

+3

w3schools는 W3C와 아무런 관련이 없습니다. 잠시 시간을내어 링크를 살펴보십시오. –

1
나는 오라클의 국제화에 내장을 사용하는 것이 좋습니다 것

, 오라클은 처리 할 수있다 특수 독일어 문자 :

http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_i18n.htm

당신이 하 원하는 경우 나는 당신이 알고있는 어떤 순서로 대체 문자열을하고 건의 할 것, 스스로를 ndle :

var str = str.replace(/ö/g,"[german-umlaute]"); 

관련 문제