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, 3681 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...