| | |
Display nothing - please help...
Please support our JavaScript / DHTML / AJAX advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
Thread Solved |
•
•
Join Date: Jul 2009
Posts: 6
Reputation:
Solved Threads: 0
Hello
In my asp page I successfully extracted records from my database. The records are written in Hebrew.
I used <% @ codepage=65001 %> and <% Response.Charset= "utf-8" and the display worked ok inside HTML.
Inside my asp code i joined all the values to one string using "x = join(myArry,"|") ". I printed the results and it was ok so far. the problem begin in the JavaScript block. in which i used the “split” command like this
arr=new Array();
var subbs="<% = x%>"
arr = subbs.split("|");
but from some reason when Im printing the array i got nothing as a result
for(i=0; i<arr.length; i++)
document.write("element " + i + " : " + arr[i] + "<BR />");
When I was doing the same without the Hebrew records from DB, but with simple array that contains just numbers, it works fine (x = "1,2,33,4,5" )
So I assume my problem happened because of the Hebrew and i don't know how to fix it...can someone please advice?
Thank you
In my asp page I successfully extracted records from my database. The records are written in Hebrew.
I used <% @ codepage=65001 %> and <% Response.Charset= "utf-8" and the display worked ok inside HTML.
Inside my asp code i joined all the values to one string using "x = join(myArry,"|") ". I printed the results and it was ok so far. the problem begin in the JavaScript block. in which i used the “split” command like this
arr=new Array();
var subbs="<% = x%>"
arr = subbs.split("|");
but from some reason when Im printing the array i got nothing as a result
for(i=0; i<arr.length; i++)
document.write("element " + i + " : " + arr[i] + "<BR />");
When I was doing the same without the Hebrew records from DB, but with simple array that contains just numbers, it works fine (x = "1,2,33,4,5" )
So I assume my problem happened because of the Hebrew and i don't know how to fix it...can someone please advice?
Thank you
sara10,
It does indeed seem that Hebrew characters are the problem. Javscript is really defined as a "Latin-1" langage. Urlencode() won't help because javascript's unescape() will always convert to Latin-1 (unless things have moved on since my reference book was printed).
What I suggest is that you try serving your string segments into separate <span></span> tags each with its own ID.
With a bit of imagination you may be able to shuffle these spans around with dom methods without ever needing to handle the strings themselves in javascript.
Of course, the success of this depends entirely on what you want do client-side with the text.
If you need to perform string manipulations then it seems you will inevitably(?) end up needing to handle the strings in javascript so back to the same old problem. Same with Ajax techniques because server responses would need to be handled by javascript.
Thinking out loud, maybe there are two ways to meet a string manipulation requirement:
I'm sure you're not the first "non-Latin" to ask this question. Try Googling a query to see what others have done before.
Just a bunch of thoughts I'm afriad.
Airshow
It does indeed seem that Hebrew characters are the problem. Javscript is really defined as a "Latin-1" langage. Urlencode() won't help because javascript's unescape() will always convert to Latin-1 (unless things have moved on since my reference book was printed).
What I suggest is that you try serving your string segments into separate <span></span> tags each with its own ID.
With a bit of imagination you may be able to shuffle these spans around with dom methods without ever needing to handle the strings themselves in javascript.
Of course, the success of this depends entirely on what you want do client-side with the text.
If you need to perform string manipulations then it seems you will inevitably(?) end up needing to handle the strings in javascript so back to the same old problem. Same with Ajax techniques because server responses would need to be handled by javascript.
Thinking out loud, maybe there are two ways to meet a string manipulation requirement:
- Do it server-side then re-serve the page (if the Hebrew posts/gets reliably?)
- Work with character images rather than text.
I'm sure you're not the first "non-Latin" to ask this question. Try Googling a query to see what others have done before.
Just a bunch of thoughts I'm afriad.
Airshow
50% of the solution lies in accurately describing the problem!
•
•
Join Date: Jul 2009
Posts: 6
Reputation:
Solved Threads: 0
Thank you . I eventually put the “<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ” inside the header and saw that javascript deals good with hebrew.
Inside my asp code I initialized the variable Dim x= "שלום|אבא|אמא|ילד|בית" with Hebrew strings separated by “|” and the split func in javascript works ok and display the Hebrew string
Now I see that my problem begins when my asp array is created by records selected from my DB, instead of initializing the "x" string with predefined strings as described above
I extracted the records successfully and use the func "join" to convert the asp array to string so I can later use it in the "split " func in javascript as before - that is no longer works ok and I wonder why.
I suppose that it is related to the fact I’m getting the data from DB, cause when I’m originally initializing asp variable “x” with the predefined data as appear exactly in the DB it works ok (without all the BD procedure )
Does anyone have an idea how to solve it? The code described below
I hope I was clear in describing my problem…
Thank
Sara
Inside my asp code I initialized the variable Dim x= "שלום|אבא|אמא|ילד|בית" with Hebrew strings separated by “|” and the split func in javascript works ok and display the Hebrew string

Now I see that my problem begins when my asp array is created by records selected from my DB, instead of initializing the "x" string with predefined strings as described above
I extracted the records successfully and use the func "join" to convert the asp array to string so I can later use it in the "split " func in javascript as before - that is no longer works ok and I wonder why.
I suppose that it is related to the fact I’m getting the data from DB, cause when I’m originally initializing asp variable “x” with the predefined data as appear exactly in the DB it works ok (without all the BD procedure )
Does anyone have an idea how to solve it? The code described below
I hope I was clear in describing my problem…
javascript Syntax (Toggle Plain Text)
<META HTTP-EQUIV="Content-Type" CONTENT="text/html"; charset="windows-1255"> <html> <HEAD DIR=RTL> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <BODY DIR=RTL> <% @ codepage=65001 %> <% Response.Charset= "utf-8" Dim adoCon 'Holds the Database Connection Object Dim rsGuestbook 'Holds the recordset for the records in the database Dim strSQL 'Holds the SQL query to query the database Dim x ‘Dim x1 = "שלום|אבא|אמא|ילד|בית" 'Create an ADO connection object Set adoCon = Server.CreateObject("ADODB.Connection") 'Set an active connection to the Connection object using DSN connection adoCon.Open "DSN=my_db" 'Create an ADO recordset object Set rsGuestbook = Server.CreateObject("ADODB.Recordset") 'Initialise the strSQL variable with an SQL statement to query the database strSQL = "SELECT guests.Name FROM guests;" 'Open the recordset with the SQL query rsGuestbook.Open strSQL, adoCon Dim myArry(2) Dim counter=0 Do Until counter=3 myArry(counter) = rsGuestbook.Fields("Name") counter=counter+1 rsGuestbook.MoveNext loop x = join(myArry,"|") ‘Response.Write(x) successfully print the records in hebrew 'Reset server objects rsGuestbook.Close Set rsGuestbook = Nothing Set adoCon = Nothing %> <script type="text/javascript" charset="windows-1255"> substring=new Array(); var subs="<% = x%>" //split the String into an array substring = subs.split("|"); for(i=0; i<substring.length; i++){ document.write("element " + i + " : " + substring[i] + "<BR />"); } </SCRIPT> </body> </html>
Thank
Sara
Last edited by Ezzaral; Jul 2nd, 2009 at 6:02 pm. Reason: Added [code] [/code] tags. Please use them to format any code that you post.
•
•
Join Date: Jul 2009
Posts: 6
Reputation:
Solved Threads: 0
The problem with using DB in the asp code, is that it seems not executing the javascript block at all. like a problem in the order of execution which is not happen when i'm using hard coded x (in the hard coded case after the asp execution, the javascript took action) When replacing to BD in the asp code I also put "document.write("hello")" in the javascript code that was never display
Can u please think of a reason for that?
BR
Sara
Can u please think of a reason for that?
BR
Sara
Try this -
NOTES:
ASP Syntax (Toggle Plain Text)
<% @ codepage=65001 %> <% Response.Charset= "utf-8" Dim adoCon 'Holds the Database Connection Object Dim rsGuestbook 'Holds the recordset for the records in the database Dim strSQL 'Holds the SQL query to query the database Dim x ‘Dim x1 = "????|???|???|???|???" 'Create an ADO connection object Set adoCon = Server.CreateObject("ADODB.Connection") 'Set an active connection to the Connection object using DSN connection adoCon.Open "DSN=my_db" 'Create an ADO recordset object Set rsGuestbook = Server.CreateObject("ADODB.Recordset") 'Initialise the strSQL variable with an SQL statement to query the database strSQL = "SELECT guests.Name FROM guests;" 'Open the recordset with the SQL query rsGuestbook.Open strSQL, adoCon Dim myArry(2) Dim counter=0 Do Until counter=3 myArry(counter) = rsGuestbook.Fields("Name") counter=counter+1 rsGuestbook.MoveNext loop x = join(myArry,"|") ‘Response.Write(x) successfully print the records in hebrew 'Reset server objects rsGuestbook.Close Set rsGuestbook = Nothing Set adoCon = Nothing %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body dir="rtl"> <script type="text/javascript" charset="csISOLatinHebrew"><!-- MIBENUM 11 : ISO-8859-8 --> document.write("<% = x%>".split("|").join('<br />')); </script> <script> document.write("hello1|hello2|hello3|hello4|hello5".split("|").join('<br />')); </script> </body> </html>
NOTES:
- Rearranged the page so all the asp is at the top. You will need to reinsert the hard-coded Hebrew, 'cos my non-savvy editor has destroyed it.
- Added a doctype (XHTML 1.0)
- Adjusted the javascript tag's charset to conform with IANA recommendation http://www.iana.org/assignments/character-sets
- Boiled the javascript code right down to the bare essentials
- Added a second, vanilla flavoured javascript block doing a very similar task with hard-coded Latin.
Last edited by Airshow; Jul 2nd, 2009 at 10:02 pm.
50% of the solution lies in accurately describing the problem!
![]() |
Similar Threads
- Monitor Display problems (Monitors, Displays and Video Cards)
- No display durring post with new mobo-- (Motherboards, CPUs and RAM)
- Horizontal lines across display (Monitors, Displays and Video Cards)
- Motorola T720 Phone and Verizon Wireless (Cellphones, PDAs and Handheld Devices)
- Display problems (Monitors, Displays and Video Cards)
- Display Haywire (Windows 95 / 98 / Me)
- Canot get file buttons or menu bars to display in i.e. (Web Browsers)
- IE 6.0.2800 won't display Fidelity.com charts (Web Browsers)
Other Threads in the JavaScript / DHTML / AJAX Forum
- Previous Thread: HTTPS jquery.colorbox.min.js error
- Next Thread: using AJAX to get only relevant info
Views: 556 | Replies: 7
| Thread Tools | Search this Thread |
Tag cloud for JavaScript / DHTML / AJAX
acid2 ajax ajaxcode ajaxexample ajaxhelp animate array automatically autoplay beta boarder box button captcha card cart codes column css date debugger decimal design developer dom download element embed enter error events firefox firehose flash focus form frameworks getselection google gwt hint html htmlform ie7 iframe image() index java javascript javascripthelp2020 javascripts jawascriptruntimeerror jquery jsp listbox maps marquee masterpage menu microsoft mimic mp4 offline onmouseover parameters paypal php player position post problem programming prototype rating redirect regex safari scale scriptlets search select size sources sql starrating textarea toggle tweet twitter validation variables w3c web webkit webservice website window windowofwords xml xspf





