Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.
Aktivasyon mailiniz gelmediyse buraya tıklayın.
06, 2008, 01:04:59 pm
42719 Mesaj 8080 Konu Gönderen: 17914 Üye
Son üye: vS.
Turk-Php.Com Forum  |  Yardım Forumları  |  PHP Yardım Forumu  |  $_GET veya $_POST ile gönderilen ascii değerler bozuluyor,ne yapılması gerekiyor « önceki sonraki »
Sayfa: [1] Yazdır
Yazan Konu: $_GET veya $_POST ile gönderilen ascii değerler bozuluyor,ne yapılması gerekiyor  (Okunma Sayısı 221 defa)
beyaz_ölüm
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 92


Üyelik Bilgileri
$_GET veya $_POST ile gönderilen ascii değerler bozuluyor,ne yapılması gerekiyor
« : 24, 2008, 05:33:58 am »

Merhabalar,

$_GET veya $_POST ile gönderilen ascii değerler gönderildiği gibi çıkmıyor ne yaptıysam çıkaramadım.

Ŋ ascii karekterini $_POST ile gönderildiği zaman strlen(); fonksiyonundan geçirdiğimiz zaman 6 karekter olduğunu gösteriyor.

ama normal editör ortamında echo strlen('Ŋ'); yaptığım zaman 1 döndürüyor. bu durumda editör bu karekteri tanıyor encode ediyor sanırım

ama ben birtürlü tanıyamadım post ile gönderdiğim zaman 6 karekter olarak görüyor. demekki post bu karekteri decode ediyor. bende anlamış değilim nasıl yapacağımıda inanın bulamadım. sizlerin yardımını bekliyorum.
Logged
turker
türker
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 115


aggressiveness


Üyelik Bilgileri WWW
Ynt: $_GET veya $_POST ile gönderilen ascii değerler bozuluyor,ne yapılması gerekiyor
« Yanıtla #1 : 24, 2008, 10:06:27 am »

Logged

beyaz_ölüm
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 92


Üyelik Bilgileri
Ynt: $_GET veya $_POST ile gönderilen ascii değerler bozuluyor,ne yapılması gere
« Yanıtla #2 : 24, 2008, 10:42:23 am »

maalesef hiç bir değişiklik olmadı başka bir çözüm üretecek olan varmı?

üyelik sisteminde kullanıcı adı seçimlerinde ascii karekterlerinde kullanılmasını istiyorum lakin işte bu sorundan dolayı bir türlü ayarlayamadım.


düzenleme :
Kod:
& #330;
veri tabanıda bu şekil kayıt oluyor bu kod bildiğim kadarıyla html ascii kodu post böyle döndürüyor veri tabanına böyle kayıt ediyor peki ben bunu post ile normal olarak nasıl alabilirim daha doğrusu alabilirmiyim?
« Son Düzenleme: 24, 2008, 11:23:19 am Gönderen: beyaz_ölüm » Logged
tpaksu
Yeni Kullanıcılar
*
Offline Offline

Mesaj Sayısı: 28


Üyelik Bilgileri
Ynt: $_GET veya $_POST ile gönderilen ascii değerler bozuluyor,ne yapılması gere
« Yanıtla #3 : 24, 2008, 05:55:37 pm »

gönderirken base64_encode alırken base64_decode yap belki öyle alırsın? yada rawurlencode fonksiyonuna bak UTF-8'leri onunla tam url bilgisine çevirebilirsin.$_GET'te işine yarar ama post'u bilmiyorum. sayfada o karakteri kullanacaksan ilgili charseti ayarlamanı tavsiye ederim. yada hepsini içeren utf8 yap.
Logged
beyaz_ölüm
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 92


Üyelik Bilgileri
Ynt: $_GET veya $_POST ile gönderilen ascii değerler bozuluyor,ne yapılması gere
« Yanıtla #4 : 25, 2008, 03:04:50 am »

hocam bunun utf8 ile ne alakası var? base64 ile encode yaptığım zaman ne anlayacam? ben strlen fonksiyonundan geçiyorum alırken normal alıyorum zaten karekteleri ama post veya get den yolladığım zaman haliyle html ascii'ye çeviriyor ve yukarda verdiğim koda dönüşüyor oda 6 karekterli username ismi 10 karekter olmasını istiyorum kullanıcı o karekterle beraber 4 karekter daha yazdığı zaman ,kullacıya göre 5 karekter yazıldı ama php ye göre 10 karekter yazıldı,bunun için postan geçdiği zaman direk bunu normal karektere çevirmem lazım ama beceremedim , verdiğin fonksiyonlarla hiç ilgisi yok bunun , bu url kodlaması veya utf8, veya charset kodlaması değil,ascii karekteri sadece
Logged
beyaz_ölüm
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 92


Üyelik Bilgileri
Ynt: $_GET veya $_POST ile gönderilen ascii değerler bozuluyor,ne yapılması gere
« Yanıtla #5 : 25, 2008, 05:53:07 am »

sorunu çözdüm belki lazım olabilir diye burayada veriyorum

normal post veya get ile gönderdiğimiz ascii karekterler otomatik olarak html ascii'ye dönüştürülüyor.

htmldeki &# arasındakini alıp ;  chr(); fonksiyonundan geçirip sonra strlen fonksiyonundan geçirdim...


Kod:
function ascii_strlen($girdi)
{
    $girdi = preg_replace('#&\#([0-9]+);#e', 'chr("\\1")', $girdi);
    return strlen($girdi);
}

echo ascii_strlen($_POST['al']);

Kolay gelsin.
Logged
tpaksu
Yeni Kullanıcılar
*
Offline Offline

Mesaj Sayısı: 28


Üyelik Bilgileri
Ynt: $_GET veya $_POST ile gönderilen ascii değerler bozuluyor,ne yapılması gere
« Yanıtla #6 : 25, 2008, 02:57:25 pm »

sorduğun soruyu daha yeni anladım Cheesy htmlspecialchars_decode() fonksiyonu o html ascii dediğin &#;'leri eski haline getiriyor.
Logged
Sayfa: [1] Yazdır 
« önceki sonraki »
Gitmek istediğiniz yer:  


Turk-Php.Com Forum | SMF Forum Software © 2005, Simple Machines LLC. All Rights Reserved.