Solved

Odd Characters after using TextStream

Posted on 2006-11-16
6
759 Views
Last Modified: 2009-07-29
Original Text: “C” Hold
Output Text: “C” Hold

also converts apostrophe's to ’

Filepath = Server.MapPath("testfolder/test.htm")

If FSO.FileExists(Filepath) Then
      Dim Contents
      Set TextStream = FSO.OpenTextFile(Filepath, ForReading, False, TristateUseDefault)            
            Contents = TextStream.ReadAll
            TextStream.Close
      Set TextStream = nothing
End If

I would like to know what is causing this and how to correct it.

Server: IIS6
Language: ASP (VBScript)
0
Comment
Question by:brian2k1
  • 3
  • 3
6 Comments
 
LVL 1

Author Comment

by:brian2k1
ID: 17963278
I found a solution to this problem using VB.Net by adding the Encoding.Default to the code.

Is there a way to specify the enconding as I did in .Net in ASP (VBScript)?
0
 
LVL 9

Expert Comment

by:deathtospam
ID: 17965312
Try either of these to see if there's any change in what is assigned to the [TextStream] variable:

<%
Set TextStream = FSO.OpenTextFile(Filepath, ForReading, False, -1)
Set TextStream = FSO.OpenTextFile(Filepath, ForReading, False, 0)
%>


-= DeathToSpam =-
0
 
LVL 9

Expert Comment

by:deathtospam
ID: 17965468
Brian2k1 --

Here's a test script I wrote up, which returns [“C” Hold]:

<%
'// [FilePath] is assigned a valid path, relative or absolute.
Set FSO = Server.CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(Filepath) Then
     '// Settings as you had: ForReading, Do Not Create, Open As ASCII
     Set TextStream = FSO.OpenTextFile(Filepath, 1, False, 0)          
          Contents = TextStream.ReadAll
          TextStream.Close
     Set TextStream = nothing
End If

Set FSO = Nothing
%>


-= DeathToSpam =-
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 1

Author Comment

by:brian2k1
ID: 17965593
That didn't work for me. Looks like the only thing that changed in the code you presented from my original is the "TristateUseDefault" to a 0 (zero). I also tried -1 which just turned it all into garbage.

If you found a reference link or something describing this problem please feel free to list it here.
0
 
LVL 9

Accepted Solution

by:
deathtospam earned 500 total points
ID: 17965690
Yeah, sorry -- that comment should have read "Settings as you had, with Open As ASCII".  

I was just following MSDN's documentation on the OpenTextFile method ( http://tinyurl.com/czoe7 ).  It only provides two options: opening a text file as Unicode (-1) or ASCII (0).  What was displayed when you ran my code?  Can you check the source code of the webpage and see if it's the same there?


-= DeathToSpam =-
0
 
LVL 1

Author Comment

by:brian2k1
ID: 17965850
The function listed below along with a charset of "utf-8" reproduces the same results as I got with .Net code.

http://www.motobit.com/tips/detpg_read-write-binary-files/

Function ReadTextFile(FileName, CharSet)
  Const adTypeText = 2
 
  'Create Stream object
  Dim BinaryStream
  Set BinaryStream = CreateObject("ADODB.Stream")
 
  'Specify stream type - we want To get binary data.
  BinaryStream.Type = adTypeText
 
  'Specify charset For the source text (unicode) data.
  If Len(CharSet) > 0 Then
    BinaryStream.CharSet = CharSet
  End If
 
  'Open the stream
  BinaryStream.Open
 
  'Load the file data from disk To stream object
  BinaryStream.LoadFromFile FileName
 
  'Open the stream And get binary data from the object
  ReadTextFile = BinaryStream.ReadText
End Function

so who knows the correct charset to get my text back the way it should be?
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
syntax error on ASP ? 6 43
Can not run ASP pages Windows 10 Edge browser. 5 75
JSON error 4 54
PDF Embed pdfobject.js local path problem regular ASP 2 119
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

26 Experts available now in Live!

Get 1:1 Help Now