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, 3708 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 Suchen ersetzen mit Sonderzeichen (2)

Frage von GNLen1 zum Thema Batch & Shell ...

Batch & Shell
gelöst Sonderzeichen Fehler aus Textdatei vermeiden (16)

Frage von Peter32 zum Thema Batch & Shell ...

Batch & Shell
HTML in Batch und Powershell (12)

Frage von michi-ffm zum Thema Batch & Shell ...

Webentwicklung
gelöst HTML 5 Sterne Bewertung buggt (7)

Frage von Yanmai zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Email in Exchange an 2ten Empfänger senden (18)

Frage von MultiStorm zum Thema Exchange Server ...

Weiterbildung
Gehaltsvorstellungen (14)

Frage von SYS64738 zum Thema Weiterbildung ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (13)

Frage von planetIT2016 zum Thema Windows Server ...

Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...