ftp ile linux ta Türkce karakter sorunu[çözüldü]
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 35
- Kayıt: 04 Eki 2007 08:06
ftp ile linux ta Türkce karakter sorunu[çözüldü]
selamün aleyküm
delphi 7(indy) ile yapılmıs bir ftp programım var ve bu programla linux(server) makinaya (jpeg,mpg,mpeg,png,gif) uzantılı dosyalar gonderiyorum. fakat dosya isminde(çışüöğĞÜÖŞÇ) gibi karakterler bulunursa linux(server) makinada bu dosyalar calısmıyor.
sole bi yol izledim
birtane funtion kullanarak bu karakterleri ingilizce karakter olarak buyuk harfe cevirdim.
dosyanın orjinal ismi____kış.jpg
cevrilmiş hali__________KIS.jpg
fakat bu sefer de ftp üzerinden linux(server) makinaya dosyaları yollarken (c:\Document and settings\user\KIS.jpg Windows bu yolu algilayamıyor gibi bir hata verdi) ve dosyaları gonderemedim.
bu konuda bana yardımcı olursanız sevinirim.
yardımlarınız için tesekkürler.
delphi 7(indy) ile yapılmıs bir ftp programım var ve bu programla linux(server) makinaya (jpeg,mpg,mpeg,png,gif) uzantılı dosyalar gonderiyorum. fakat dosya isminde(çışüöğĞÜÖŞÇ) gibi karakterler bulunursa linux(server) makinada bu dosyalar calısmıyor.
sole bi yol izledim
birtane funtion kullanarak bu karakterleri ingilizce karakter olarak buyuk harfe cevirdim.
dosyanın orjinal ismi____kış.jpg
cevrilmiş hali__________KIS.jpg
fakat bu sefer de ftp üzerinden linux(server) makinaya dosyaları yollarken (c:\Document and settings\user\KIS.jpg Windows bu yolu algilayamıyor gibi bir hata verdi) ve dosyaları gonderemedim.
bu konuda bana yardımcı olursanız sevinirim.
yardımlarınız için tesekkürler.
En son onclick_lik tarafından 19 Kas 2007 11:15 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
"c:\documents and settings\ffff\xxx xxx\" şeklinde dene. içinde boşluk varsa tırnak içine almalısın. mumkunse kodu yapıştr bakalım
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
-
- Üye
- Mesajlar: 35
- Kayıt: 04 Eki 2007 08:06
Kullandıgım kod bu
Dosya transfer ettiğimde Türkce karakterler varsa dosya isminde linux(server) makina calıstırmıyor bu dosyaları.Eğer programda ingilizce karaktere cevirip gondermeye calsıtıgım da bu sefer de windows bu yolu tanımıyor hata veriyor gondermiyor.
Kod: Tümünü seç
procedure Tanaform.dosgonderClick(Sender: TObject);
var
i: Integer;
begin
for i := 0 to (ListBox2.Items.Count - 1) do begin
if ListBox2.Selected[i] then
begin
try
ext:=extractfileext(listbox2.items.strings[i]);
dosyaadi := ExtractFileName(ListBox2.Items.Strings[i]);
if (ext='.sh') then
begin
IdFTP1.TransferType:=ftascii;
IdFTP1.put(ListBox2.Items.Strings[i],dosyaadi,true);
listelerClick(self);
end;
ext:=extractfileext(listbox2.items.strings[i]);
dosyaadi := ExtractFileName(ListBox2.Items.Strings[i]);
if (ext='.jpg') or (ext='.png') or (ext='.jpeg') or (ext='.gif') or (ext='.GİF') or (ext='.JPEG') or (ext='.JPG') or (ext='.PNG') then
begin
idftp1.TransferType:=ftbinary;
IdFTP1.put(ListBox2.Items.Strings[i],dosyaadi,true);
listelerClick(self);
end;
except
Application.MessageBox('Dosya Gönderilemedi','Uyarı',mb_ok+mb_iconinformation);
end;
En son onclick_lik tarafından 19 Kas 2007 11:50 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
hocam burda isimle alakalı birşey yooki. ismi nasıl cevirdin anlamadım.
birde şu olay var.
dosyaadını Türkçeye rename ilemi cevirdin yoksa sadece ekrandamı ceviriyorsun
birde şu olay var.
dosyaadını Türkçeye rename ilemi cevirdin yoksa sadece ekrandamı ceviriyorsun
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
-
- Üye
- Mesajlar: 35
- Kayıt: 04 Eki 2007 08:06
program da put komutuyla Türkce karakterli dosya transfer ettiğimde linux(server) da harfler değişik cıkıyor dosya calısmıyor.benim bu Türkce karakterleri programım dan düzenleyip Linux(server) a gondermem lazım.
ben gonderirken
orjinal dizin
örnegin;
C:\document and settings\belgelerim\kiş.jpg(bunu gonderiyor ama karsıda calısmıyor)
ben bunu filelistbox ekranın da İngilizce karaktere cevirip gonderme listeme aktarıyorum.(rename kullanmadım)
C:\document and settings\belgelerim\KIS.jpg olarak yani
ama boleyken dosyayı gonderirken
(C:\document and settings\belgelerim\KIS windows bu yolu algılayamıyor gibi bir hata veriyor)
ve dosyayı gondermiyor
benim amacım linux(servere) Türkce karakter bulunan dosya isimlerini ingilizce karaktere cevirip gondermek.
ben gonderirken
orjinal dizin
örnegin;
C:\document and settings\belgelerim\kiş.jpg(bunu gonderiyor ama karsıda calısmıyor)
ben bunu filelistbox ekranın da İngilizce karaktere cevirip gonderme listeme aktarıyorum.(rename kullanmadım)
C:\document and settings\belgelerim\KIS.jpg olarak yani
ama boleyken dosyayı gonderirken
(C:\document and settings\belgelerim\KIS windows bu yolu algılayamıyor gibi bir hata veriyor)
ve dosyayı gondermiyor
benim amacım linux(servere) Türkce karakter bulunan dosya isimlerini ingilizce karaktere cevirip gondermek.
rename yapmazsan program dosyayı bulamazki.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
-
- Üye
- Mesajlar: 35
- Kayıt: 04 Eki 2007 08:06
Arkadaslar baya bi ugrastan sonra kendi sorunumu hallettim.
öncelikle bir function tanımlıyoruz
ve funtionumuzu tanımladıktan sonra;
kodumuz;
ben bunu filelistboxta ki Türkce karakterli dosya isimlerini ingilizce karakterlerli dosya isimlerine cevirmek için kullanmıstım.
siz programınız da istediginiz yere uyarlayabilirsiniz.
öncelikle bir function tanımlıyoruz
Kod: Tümünü seç
Function lowerCase(Txt: String): String;
Const
YHarfler: String[39] = 'abccdefgghiijklmnoopqrsstuuvwxyzgusioc';
THarfler: String[39] = 'abcçdefgğhıijklmnoöpqrsştuüvwxyzĞÜŞİÖÇ';
Var
i: Byte;
Begin
For i:=1 To Length(Txt) Do
If Pos(Txt[i],THarfler)>0 Then Txt[i]:=YHarfler[Pos(Txt[i],THarfler)];
Result:=Txt;
End;
kodumuz;
Kod: Tümünü seç
RenameFile(AnsiLowerCase(ExtractFileName(FileListBox1.FileName)),lowerCase(ExtractFileName(FileListBox1.FileName)));
siz programınız da istediginiz yere uyarlayabilirsiniz.
güzel... kafa göz yarıldı belki ama sorunda çözüldü....
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog