![]() |
|
html de kullanınal özel karakterler - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Delphi ile Web Teknolojileri (https://www.delphican.com/forumdisplay.php?fid=118) +--- Konu Başlığı: html de kullanınal özel karakterler (/showthread.php?tid=5949) |
html de kullanınal özel karakterler - powerghost - 24-04-2021 Merhaba Arkadaşlar, Delphi'de yazılımış web tabanlı bir program üzerinden windows file server klasör listesini alıyoruz. fakat klasörlerde kullanılan özel karekterleri okumada zorlanıyoruz. ?&=: insert into file_type_shared_folders (server_id,parent_id,folder_name,full_path, parents_list) values("1", "1", "GGG_&&&& ^^&&&@@@@[)]4", "\\\\filesrver.HISAR.LOCAL\\FileShareEMin\\GGG_&&&& ^^&&&@@@@[)]4",".0..1.") böyle bir insert var. normalde heidisql de yapsam GGG_&&&& ^^&&&@@@@[)]4 klasör bu şekilde ekleniyor ama normal delphide Query ile eklendiğinde GGG_&&&& ^^&&@@@@[)]4 böyle ekleniyor yani & in bir tanesi kayboluyor html de kullanınal özel karakterler - mrmarman - 24-04-2021 Web tabanlı içerik Delphi yakasında mı yoksa Web üzerinde PHP vb. bir yapıda mı kaydediliyor ? Eğer PHP yakasında ise bu linki kontrol etmek isteyebilirsiniz. ( mysql_real_escape_string ) Kod: <?phphtml de kullanınal özel karakterler - powerghost - 24-04-2021 Hocam, post edilen datalar vasıtası ile TFDQuery; ile kaydediliyor html de kullanınal özel karakterler - mrmarman - 24-04-2021 Bahsi geçen string path verisi Delphi yakasına POST edildiğini anlıyorum. Meraktan soruyorum, Delphi yakasına gönderen ( path okuyan ) yapı nedir ? Orada örnek olarak 10 tane '&' karakteri yan yana POST edildiğinde Delphi yakası bunu alırken nasıl alıyor kontrol edebiliyor musunuz ? html de kullanınal özel karakterler - uparlayan - 24-04-2021 Gönderirken base64 ile encode edip, alırken de base64 ile decode etseniz sorun olmaz gibi sanki... Cvp: html de kullanınal özel karakterler - powerghost - 24-04-2021 (24-04-2021, Saat: 19:02)mrmarman Adlı Kullanıcıdan Alıntı: Bahsi geçen string path verisi Delphi yakasına POST edildiğini anlıyorum. hocam yapı şöyle, TDirectory.GetDirectories(path) ile dizinleri alıyoruz. dizin adlarında html de kullanılan özel karakterler olunca ve buradan gelen path ajax ile post verisi olduğundan delphi tarafına gidince (delphi tarafındaki bir http server) bu karakterlerden dolayı parçalanıyor. özel karakter ile replace ettik mesela & işareti için %26 gibi karakterlerle replace ettiğimizde veri gidiyor ama bukezde sql i aşağıdaki gibi bir insert işlemi yaptığımda ^^&&& olan kısım ne hikmetse ^^&& şeklinde ekleniyor dolayısıyla doğru kayıt girilmiyor. aynı insert heidisql ile query penceresinden çalıştırıca normal bir şekilde kaydediyor. base64 ile kodlasam bile sonuçta delphi ayağına gelince orjinalini almam lazım ki o da aşağıdaki gibi bir data oluyor yani \\\\filesrver.HISAR.LOCAL\\FileShareEMin\\GGG_&&&& ^^&&&@@@@[)]4 bir path gireceğim ama db ye insert edilen \\\\filesrver.HISAR.LOCAL\\FileShareEMin\\GGG_&&&& ^^&&@@@@[)]4 bu şekilde oluyor. ilginç olan burası. bunu TFDQuery nesnesi mi yapiyor onuda tam olarak bilmiyorum. PHP Kod: insert into file_type_shared_folders (server_id,parent_id,folder_name,full_path, parents_list) values("1", "1", "GGG_&&&& ^^&&&@@@@[)]4", "\\\\filesrver.HISAR.LOCAL\\FileShareEMin\\GGG_&&&& ^^&&&@@@@[)]4",".0..1.") html de kullanınal özel karakterler - mrmarman - 24-04-2021 Sorun karakter unicode vb. kodlaması sorunu desem sadece tek karakter eksiltmesi olmazdı. Çünkü bütüne etkisi olurdu. FDQuery'ye parametre ile bunu girmek ama girerken AsString değilde AsWideString olarak denemek isteyebilirsiniz.
FDQuery1.SQL.Text:= 'insert into file_type_shared_folders (server_id,parent_id,folder_name,full_path, parents_list) values("1", "1", :param00, :param01,".0..1.") '
FDQuery1.Params[0].AsWideString := 'GGG_&&&& ^^&&&@@@@[)]4';
FDQuery1.Params[1].AsWideString := '\\\\filesrver.HISAR.LOCAL\\FileShareEMin\\GGG_&&&& ^^&&&@@@@[)]4';
FDQuery1.ExecSQL;
Cvp: html de kullanınal özel karakterler - powerghost - 25-04-2021 (24-04-2021, Saat: 23:46)mrmarman Adlı Kullanıcıdan Alıntı: Sorun karakter unicode vb. kodlaması sorunu desem sadece tek karakter eksiltmesi olmazdı. Çünkü bütüne etkisi olurdu. hocam param ile insert işlemi halloldu teşekkürler. şimdi de şöyle bir durum söz konusun TDirectory.GetDirectories(path) ile dizinleri okurken türkçe karakterleri okumuyor karakterleri ingilizceye çeviriyor. meslea şğüıç şeklide bir dizini sguic şeklinde okuyor. TDirectory.GetDirectories nin encode özelliği yok sanırım. bunu nasıl çözebilirim. dizinlerin ismini türkçe karakter olarak okumak gereiyor. reelde bu dizin var aslında ama dizin ismi doğru gelmediğinden dizini sonraki işlemlerde bulamadığından işlem yapamıyoruz. bu konuda bir öneriniz var mıdır? html de kullanınal özel karakterler - mrmarman - 26-04-2021 Aşağıdaki şekilde denedim Türkçe klasör isimleri doğru geldi... Uses System.IOUtils, System.Types; procedure TForm1.BitBtn1Click(Sender: TObject); var LDirs : TStringDynArray; i : Integer; begin LDirs := System.IOUtils.TDirectory.GetDirectories( 'c:\ARMAN.Study\Video(s)\' ); for i := 0 to High(LDirs) do Memo1.Lines.Add(LDirs[i]); end; html de kullanınal özel karakterler - powerghost - 27-04-2021 Hocam, Yapı aynı fakat bizimki web servis olduğundan respons tarafı utf8 set ettik TR karekter sorunu çözüldü. . |