. .
pragmaMx Support Forum 09 Januar 2009, 13:56:06 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1]   Nach unten
Drucken
Autor Thema: Türkçe Karakter Hataları ve Çözümü  (Gelesen 740 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
navruz
Moderator
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 284



WWW
« am: 08 März 2008, 00:16:25 »

Merhaba Smiley
Bir süredir bu yazıyı yazmak niyetindeydim. Bugüne nasip oldu.
Kısa bir süre önce Stories_Archive modülünde bulunan Türkçe karakter hatasının çözümünü vermiştik.
Sorun Türkçe karakterleri henüz desteklemeyen htmlentities komutundan kaynaklanıyordu. Daha sonra bu hatanın bir kaç bölümde daha olduğunu gözlemledim.
Bu sorunları çözümlemek için aşağıda yapılacak değişiklikleri belirttim. Tek tek uğraşmadan htmlentities kodunu htmlspecialchars olarak değiştirseniz daha kolay olur. Çünkü sadece htmlentities kodunu htmlspecialchars ile değiştiriyorsunuz.
htmlentities içeren dosyalar:

1- Haber Arşivi modülü
/modules/Stories_Archive/index.php

Bul:
Code: [Select]  
$row['title'] = '<a href="modules.php?name=News&amp;file=article&amp;sid=' . $row['sid'] . '">' . htmlentities($row['title']) . '</a>';

Değiştir:
Code: [Select]  
$row['title'] = '<a href="modules.php?name=News&amp;file=article&amp;sid=' . $row['sid'] . '">' . htmlspecialchars($row['title']) . '</a>';

Bul:
Code: [Select]  
$row['cat_title'] = '<a href="modules.php?name=News&amp;file=categories&amp;catid=' . $row['catid'] . '">' . htmlentities($row['cat_title']) . '</a>';

Değiştir:
Code: [Select]  
$row['cat_title'] = '<a href="modules.php?name=News&amp;file=categories&amp;catid=' . $row['catid'] . '">' . htmlspecialchars($row['cat_title']) . '</a>';


2- Meta etiketleri
Burada görünümde herhangi bir hata bulunmuyor. Fakat meta etiketlerinde bulunan Türkçe karakterler bozuk çıkıyor. Özellikle SEO konusuyla ilgilenelerin mutlaka değiştirmesi lazım. Zira keywordsler(Anahtar kelimeler) oldukça önemli.
/header.php
Bul
Code: [Select]  
<meta name="author" content="<?php echo htmlentities(strip_tags($GLOBALS['sitename'])) ?>">
<meta name="keywords" content="<?php echo htmlentities($GLOBALS['metakeywords']) ?>, <?php echo MX_VERSION ?>">
<meta name="generator" content="<?php echo MX_VERSION ?> - by http://pragmaMx.org">
<meta name="copyright" content="Copyright (c) <?php echo Date("Y"?> by <?php echo htmlentities(strip_tags($GLOBALS['sitename'])) ?>">
<meta name="description" content="<?php echo htmlentities(strip_tags($GLOBALS['slogan'])) ?>">
Değiştir
Code: [Select]  
<meta name="author" content="<?php echo htmlspecialchars(strip_tags($GLOBALS['sitename'])) ?>">
<meta name="keywords" content="<?php echo htmlspecialchars($GLOBALS['metakeywords']) ?>, <?php echo MX_VERSION ?>">
<meta name="generator" content="<?php echo MX_VERSION ?> - by http://pragmaMx.org">
<meta name="copyright" content="Copyright (c) <?php echo Date("Y"?> by <?php echo htmlspecialchars(strip_tags($GLOBALS['sitename'])) ?>">
<meta name="description" content="<?php echo htmlspecialchars(strip_tags($GLOBALS['slogan'])) ?>">

3- Özel Mesajlar modülü
Mesajı yanıtlarken karşı tarafın gönderdiği mesajdaki karakterler bozuluyor.
/modules/Private_Messages/index.php
Bul
Code: [Select]  
. "<td><textarea name=\"message\" id=\"message\" rows=\"10\" cols=\"45\" ONSELECT=\"storeCaret(this);\" ONCLICK=\"storeCaret(this);\" ONKEYUP=\"storeCaret(this);\">" . htmlentities($replymsg) . "</textarea></td>"
Değiştir
Code: [Select]  
. "<td><textarea name=\"message\" id=\"message\" rows=\"10\" cols=\"45\" ONSELECT=\"storeCaret(this);\" ONCLICK=\"storeCaret(this);\" ONKEYUP=\"storeCaret(this);\">" . htmlspecialchars($replymsg) . "</textarea></td>"
Bul
Code: [Select]  
. "<td><textarea name=\"message\" id=\"message\" rows=\"10\" cols=\"45\" onSelect=\"storeCaret(this);\" onClick=\"storeCaret(this);\" onKeyUp=\"storeCaret(this);\">" . htmlentities($msg_text) . "</textarea></td>"
 

Değiştir
Code: [Select]  
. "<td><textarea name=\"message\" id=\"message\" rows=\"10\" cols=\"45\" onSelect=\"storeCaret(this);\" onClick=\"storeCaret(this);\" onKeyUp=\"storeCaret(this);\">" . htmlspecialchars($msg_text) . "</textarea></td>"
 

   
4- Footer Mesajı ve Site Servisi Mesajı
Yönetici Menüsü / Ayarlar  bölümünden girdiğiniz alt mesajları ve Site Servisi mesajını config.php dosyasına yazarken Türkçe karakterleri bozarak kaydediyor.
admin/modules/settings.php
Dikkat : Bu dosyada 14 kez geçmektedir. Fakat bazı bölümler için değiştirmeye gerek yok.
Bul
Code: [Select]  
$foot1 = (empty($foot1)) ? "" : htmlentities($foot1);
$foot2 = (empty($foot2)) ? "" : htmlentities($foot2);
$foot3 = (empty($foot3)) ? "" : htmlentities($foot3);
$foot4 = (empty($foot4)) ? "" : htmlentities($foot4);
Değiştir
Code: [Select]  
$foot1 = (empty($foot1)) ? "" : htmlspecialchars($foot1);
$foot2 = (empty($foot2)) ? "" : htmlspecialchars($foot2);
$foot3 = (empty($foot3)) ? "" : htmlspecialchars($foot3);
$foot4 = (empty($foot4)) ? "" : htmlspecialchars($foot4);

Bul
Code: [Select]  
. "<textarea name=\"xmetakeywords\" cols=\"50\" rows=\"5\">" . htmlentities($metakeywords) . "</textarea>"
Değiştir
Code: [Select]  
. "<textarea name=\"xmetakeywords\" cols=\"50\" rows=\"5\">" . htmlspecialchars($metakeywords) . "</textarea>"
Bul
Code: [Select]  
. "<tr valign=\"top\"><td>" . _EMAILMSG . ":</td><td><textarea name=\"xnotify_message\" cols=\"40\" rows=\"4\">" . htmlentities($notify_message) . "</textarea></td></tr>"
Değiştir
Code: [Select]  
. "<tr valign=\"top\"><td>" . _EMAILMSG . ":</td><td><textarea name=\"xnotify_message\" cols=\"40\" rows=\"4\">" . htmlspecialchars($notify_message) . "</textarea></td></tr>"
Bul
Code: [Select]  
echo "<tr valign=\"top\"><td>" . _SITESERVICETEXT . ":</td><td><textarea name=\"xmxSiteServiceText\" cols=\"50\" rows=\"5\">" . htmlentities($mxSiteServiceText) . "</textarea></td></tr>";
Değiştir
Code: [Select]  
echo "<tr valign=\"top\"><td>" . _SITESERVICETEXT . ":</td><td><textarea name=\"xmxSiteServiceText\" cols=\"50\" rows=\"5\">" . htmlspecialchars($mxSiteServiceText) . "</textarea></td></tr>";

5- Etkinlik Takvimi
Kategori isimlerini değiştiriken Türkçe karakterleri bozarak kaydediyor.
/modules/Kalender/admin/cat.php
Bul
Code: [Select]  
$newcols .= "\$caldotcolor[".$i."] = \"".trim(htmlentities($caption, ENT_QUOTES))."\";\n";
   
Değiştir
Code: [Select]  
$newcols .= "\$caldotcolor[".$i."] = \"".trim(htmlspecialchars($caption, ENT_QUOTES))."\";\n";
      
Gespeichert

Bilgi paylaştıkça artar...
Seiten: [1]   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
design by hENNE, layout based on YAML