Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

HTML-Sonderzeichen in ASCII-Sonderzeichen konvertieren

Frage Entwicklung Visual Studio

Mitglied: visualbasic

visualbasic (Level 1) - Jetzt verbinden

19.10.2012, aktualisiert 20.10.2012, 3748 Aufrufe, 6 Kommentare

Hallo,
ich habe ein Programm zum Übersetzen geschrieben.
Jetzt stelle ich aber fest, dass wenn ich "Hallo" auf z.B. Russisch übersetzen möchte, folgendes rauskommt:
Алло"
. Normalerweise sollte folgendes kommen
привет (Priviet)
, was aber auch komisch ist, da ja das "&#1083" zweimal vorkommt...

Wenn man Diese Zeichenfolge in einer Gogglesuche verwendet, kommt das raus:
Алло
Zitat von wiesi200:
Was auch "komisch" ist du kriegst 4 Zeichen raus, willst aber 6 haben.
Ist mir aber erstmals egal, sorry, denn im Russischen gibt es sowohl
01.
привет
, als auch
01.
Алло
für "hallo", wodurch ich jetzt schonmal weiß, dass
Алло"
für
Алло
steht.

Gibt es i-eine Möglichkeit, das umzuwandeln?

In CSharp geht es ja so
01.
System.Web.HttpUtility.HtmlDecode(text)
Liegt es vielleicht daran, dass ich am "New WebClient" die Encoding auf
01.
System.Text.Encoding.Default
gestellt habe? Habe es aner schon mit ASCII versucht; geht auch nicht...

// EDIT

Quelltext des Programms:
01.
Public Class Form1 
02.
    Dim temp As String, eingang As String = "de", ausgang As String = "en" 
03.
 
04.
    Public Function TranslateText(ByVal TextToTranslate As String, ByVal lngInput As String, ByVal lngOutput As String) As String 
05.
        Dim result As String 
06.
        Dim url As String = [String].Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}|{2}", TextToTranslate, lngInput, lngOutput) 
07.
        Dim webClient As New Net.WebClient() 
08.
        webClient.Encoding = System.Text.Encoding.Default 
09.
        result = webClient.DownloadString(url) 
10.
        Dim match As String = "id=result_box" 
11.
        Dim i As Integer = result.IndexOf(match) + 20 
12.
        Dim f As Integer = result.IndexOf(match) + 500 
13.
        result = Mid(result, i, f) 
14.
        result = Mid(result, 1, result.IndexOf("</div>")) 
15.
        result = result.Replace("<span title=", "") 
16.
        result = result.Replace("</span>", "") 
17.
        result = result.Replace("&#39;", "'") 
18.
        result = result.Substring(result.LastIndexOf(">") + 1) 
19.
        Return result 
20.
    End Function 
21.
 
22.
    Private Sub Input_Box_TextChanged() Handles Input_Box.TextChanged 
23.
        Select Case ComboBox1.SelectedItem 
24.
            Case "Deutsch" 
25.
                eingang = "de" 
26.
            Case "Englisch" 
27.
                eingang = "en" 
28.
            Case "Französisch" 
29.
                eingang = "fr" 
30.
        End Select 
31.
 
32.
        Select Case ComboBox2.SelectedItem 
33.
            Case "Deutsch" 
34.
                ausgang = "de" 
35.
            Case "Englisch" 
36.
                ausgang = "en" 
37.
            Case "Französisch" 
38.
                ausgang = "fr" 
39.
        End Select 
40.
 
41.
        Output_Box.Text = TranslateText(Input_Box.Text, eingang, ausgang) 
42.
    End Sub 
43.
End Class
Wie mach ich das? Nehme auch gern eine DLL, wenn nötig...
Freundliche Grüße Chris
Mitglied: wiesi200
19.10.2012 um 20:47 Uhr
Hallo
Was auch "komisch" ist du kriegst 4 Zeichen raus, willst aber 6 haben.
Da hast du glaub ich schon mal ein anderes größeres Problem.
Bitte warten ..
Mitglied: wiesi200
20.10.2012 um 07:47 Uhr
Wenn du wissen willst woran das es liegt, dann müsstest du eigentlich den Quelltext posten denn woher sollen wir wissen was du alles eingestellt hast. Mal abgesehen davon von dem in was du Programmierst? Vermutlich immer noch VB.Net?

Aber mit deinem

01.
System.Web.HttpUtility.HtmlDecode(text)
Das ist ein Bestandteil des .Net Framework 4.5
Somit solltest du es innerhalb jeder .Net Sprache verwenden können.
Eben auch in VB.NET.

Für die genaue Syntax kannst du bei MSDN suchen.
Bitte warten ..
Mitglied: visualbasic
20.10.2012 um 08:47 Uhr
Habs jetzt aktualisiert, was mach ich jetzt?
Bitte warten ..
Mitglied: 76109
20.10.2012 um 10:45 Uhr
Hallo visualbasic!

Die dezimalen Zeichencodes (&#1040;&#1083;&#1083;&#1086;) aus dem kyrillischen Zeichensatz entsprechem dem Wort 'Алло'

Gruß Dieter
Bitte warten ..
Mitglied: visualbasic
20.10.2012 um 11:34 Uhr
Zitat von 76109:
Hallo visualbasic!

Die dezimalen Zeichencodes (Алло) aus dem kyrillischen Zeichensatz entsprechem dem Wort
'Алло'
Danke, aber das stand 2 Stunden bevor du das geschriben hast, in meinem Beitrag...

Gruß Chris
Bitte warten ..
Mitglied: visualbasic
26.12.2012 um 12:21 Uhr
Zitat von wiesi200:
01.
> System.Web.HttpUtility.HtmlDecode(text) 
02.
> 
Bei mir kommen nach "System.Web" nur ASP-Sachen
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Warum funktioniert das echo in meiner for-Schleife auch mit Sonderzeichen? (9)

Frage von Pedant zum Thema Batch & Shell ...

Microsoft Office
Sonderzeichen bei Terminen - Office 2016

Frage von Martinaaa zum Thema Microsoft Office ...

Drucker und Scanner
Sonderzeichen im Passwort HP-Printer (HP LaserJet CP1525N) (2)

Frage von malika zum Thema Drucker und Scanner ...

Batch & Shell
gelöst Sonderzeichen in eine Batch automatisch einfügen (18)

Frage von Dr.Byte zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...