Μετατροπή ελληνικών σε unicode

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panos78 » 25 Ιαν 2005 13:36

Υπάρχει τρόπος να μετατρέψουμε ελληνικούς χαρακτήρες σε unicode;
Αναφέρομαι σε αρχείο php αν αυτό βοηθάει.
Και αφού γίνει η μετατροπή, τι πρέπει να επιλέξω σαν κωδικοσελίδα;
iso 8859-7, windows 1253 ή utf-8;
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
Tanaka
Δημοσιεύσεις: 174
Εγγραφή: 27 Απρ 2004 21:40
Τοποθεσία: Κορωπί

Μετατροπή ελληνικών σε unicode

Δημοσίευση από Tanaka » 08 Φεβ 2005 12:05

Μπορείς να χρησιμοπιήσεις την iconv της php. Τώρα αν χρησιμοποιείς unicode το encoding που θα πρέπει να χρησιμοποιήσεις είναι το UTF-8 ενώ για ελληνικά το iso-8859-7

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27626
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Μετατροπή ελληνικών σε unicode

Δημοσίευση από cordis » 08 Φεβ 2005 14:14

iso-8859-7 σε utf8 και το αντίστροφο
> http://www.freestuff.gr/forums/viewtopic.php?t=12966
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Μετατροπή ελληνικών σε unicode

Δημοσίευση από skeftomilos » 14 Φεβ 2005 04:21

Μπορείς να ανοίξεις τη σελίδα σου στο Notepad και να την κάνεις "save as" με Encoding: UTF-8 (το επιλέγεις κάτω-κάτω). Μετά πρέπει να προσθέσεις την παρακάτω οδηγία στο τμήμα <head>:

Κώδικας: Επιλογή όλων

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Πρέπει να κάνεις και τα δύο ή κανένα. Διαφορετικά η σελίδα δε φαίνεται σωστά.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panos78 » 07 Μαρ 2006 15:40

Σε ευχαριστώ.
Τελικά βρήκα κώδικα που μετατρέπει τα πάντα σε unicode.
Ωστόσο, ήθελα να βάλω και ένα κουμπί για να αντιγράφετε το κείμενο σε unicode στο πρόχειρο όπως ακριβώς είναι, αλλά δεν εκτελείται σωστά.
Παραθέτω τον κώδικα μήπως και βρείτε εσείς τι φταίει γιατί έχω πελαγώσει.

Κώδικας: Επιλογή όλων

<form name="convert">
<script language="javascript" type="text/javascript"> 
function display&#40;&#41;&#123;if&#40;document.forms&#91;0&#93;.ascii.value != ''&#41;&#123;var vText = document.forms&#91;0&#93;.ascii.value; 
         var vEncoded = display2&#40;vText&#41;; document.forms&#91;0&#93;.unicode.value = vEncoded;&#125;&#125; 
function display2&#40;source&#41;&#123;result = '';for &#40;i=0; i<source.length; i++&#41; result += '&#' + source.charCodeAt&#40;i&#41; + ';'; 
  return result;&#125; 

function ClipBoard&#40;&#41; 
&#123;
holdtext.innerText = copytext.innerText;
Copied = holdtext.createTextRange&#40;&#41;;
Copied.execCommand&#40;"RemoveFormat"&#41;;
Copied.execCommand&#40;"Copy"&#41;;
&#125;

</SCRIPT> 
<b>Κείμενο προς μετατροπή&#58;<br>
<textarea type="text" name="ascii" rows="8" cols="60" onkeyup = display&#40;&#41;></textarea><br>
<input type="reset" value="Εκκάθάριση των πλαισίων"><input type="button" value="Αντιγραφή στο πρόχειρο" onClick="ClipBoard&#40;&#41;;"><br>
Το κείμενο μετά τη μετατροπή&#58;</b><br>
<textarea ID="copytext" input type="text" name="unicode" rows="8" cols="60" readonly></textarea><br>
<TEXTAREA ID="holdtext" STYLE="display&#58;none;"></TEXTAREA>
</form>
Τα φώτα σας παρακαλώ!
;)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panosru » 07 Μαρ 2006 18:17

oriste! :D

Κώδικας: Επιλογή όλων

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7" />
<title>Test</title>
<script language="javascript" type="text/javascript">
<!--
window.onload = init;

function init &#40;&#41;
&#123;
	myVariables = 
	&#123;
		ascii&#58;document.getElementById&#40;"ascii"&#41;,
		unicode&#58;document.getElementById&#40;"unicode"&#41;,
		holdtext&#58;document.getElementById&#40;"holdtext"&#41;,
		copytext&#58;document.getElementById&#40;"copytext"&#41;,
		copy&#58;document.getElementById&#40;"copy"&#41;
	&#125;
	myVariables.ascii.onkeyup = function &#40;&#41; &#123; display &#40;&#41;; &#125;
	myVariables.copy.onclick = function &#40;&#41; &#123; ClipBoard &#40;&#41;; &#125;
&#125;

function display &#40;&#41;
&#123;
	if &#40;myVariables.ascii.value != ''&#41; &#123;
	
		function Sub_display &#40;source&#41;
		&#123;
			result = '';
			for &#40;i=0; i<source.length; i++&#41; &#123;
				result += '&#' + source.charCodeAt&#40;i&#41; + ';';
			&#125;
			return &#40;result&#41;;
		&#125;
		
		var vText = myVariables.ascii.value;
		var vEncoded = Sub_display&#40;vText&#41;; 
		myVariables.unicode.value = vEncoded;
	&#125;
&#125;

function ClipBoard&#40;&#41;
&#123;
	myVariables.holdtext.innerText = myVariables.copytext.innerText;
	Copied = myVariables.holdtext.createTextRange&#40;&#41;;
	Copied.execCommand&#40;"RemoveFormat"&#41;;
	Copied.execCommand&#40;"Copy"&#41;;
&#125;
//-->
</script>
</head>

<body>

<form name="convert">
<b>Κείμενο προς μετατροπή&#58;<br>
<textarea type="text" name="ascii" id="ascii" rows="8" cols="60"></textarea><br>
<input type="reset" id="clear" value="Εκκάθάριση των πλαισίων">
<input type="button" id="copy" value="Αντιγραφή στο πρόχειρο"><br>
Το κείμενο μετά τη μετατροπή&#58;</b><br>
<textarea id="copytext" name="unicode" rows="8" cols="60" readonly="readonly"></textarea><br>
<textarea id="unicode" style="display&#58;none;"></textarea>
<textarea id="holdtext" style="display&#58;none;"></textarea>
</form> 

</body>
</html>
Τελευταία επεξεργασία από το μέλος panosru την 07 Μαρ 2006 21:37, έχει επεξεργασθεί 4 φορές συνολικά.

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panos78 » 07 Μαρ 2006 18:23

Από ότι είδα έπρεπε να μπει το:
window.onload = init;

Κώδικας: Επιλογή όλων

function init &#40;&#41; 
&#123; 
   display&#40;&#41;; 
   ClipBoard&#40;&#41;; 
&#125; 
Ευχαριστώ θα το κοιτάξω
;)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panosru » 07 Μαρ 2006 18:35

oxi apla ston kodika sou den eixes dilosei to copytext kai to holdtext apla ston diko mou kodika sta ebala ola mesa se ena object kai sou ebgala apo thn html ta functions pou kalouses kai sta ebala sto init gia na exeis katharh thn html sou... :D

PS: ekana merikes allages ston kodika des ton ksana pisteyo pos einai kalytera etsi..

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panos78 » 07 Μαρ 2006 18:44

ok
Τελικά κατάφερα να κάνω αυτό που ήθελα.
Ωστόσο, παρουσιάστηκε το εξής πρόβληματάκι.
Όταν γράφω κάτι στο πρώτο πεδίο, αυτόματα εμφανίζεται η μετατροπή στο κάτω πλαίσιο.
Όταν όμως επιλέγω το κείμενο και το σβήνω το κείμενο στο κάτω πλαίσιο δεν σβήνει επίσης και όταν χρησιμοποιώ το backspace δεν σβήνεται ο πρώτος χαρακτήρας.
Αυτό υπάρχει τρόπος να διορθωθεί;


Κάτι ακόμα που ψάχνω τώρα.
Έχω έναν φάκελο με αρχεία php
Η μορφή των ονομάτων είναι:
χ_χ.php
όπου χ αριθμός.
Χρησιμοποιώ την συνάρτηση scandir για να μετράω πόσα αρχεία έχει μέσα ο φάκελος.
Υπάρχει τρόπος να μετράει μόνο τα αρχεία που ξεκινούν π.χ. με 0_ και όχι τα υπόλοιπα;
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panosru » 07 Μαρ 2006 19:11

koita den eimai JavaScript coder :p tora matheno kai go kai exo porothei kapos :P opote tha to palepso men ego.. alla den ksero an tha to katafero kai grhgora :P opote tha perimeneis ton skeytomilo pou einai guru s' ayta :P oson afora to allo oriste

Κώδικας: Επιλογή όλων

<?PHP

$dirname = "./foo";
$dh = opendir&#40;$dirname&#41; or die&#40;"Den mporo na to anoikso!!! &#58;P"&#41;;

while &#40;!&#40;&#40;$file = readdir&#40;$dh&#41;&#41; === false&#41;&#41; &#123;
	if &#40;is_dir&#40;"&#123;$dirname&#125;/&#123;$file&#125;"&#41;&#41; &#123;
		continue;
	&#125; elseif &#40;!&#40;ereg&#40;"^&#40;0_&#41;+&#40;&#91;0-9a-zA-Z_-&#93;*&#41;.&#40;php&#41;$", $file&#41;&#41;&#41; &#123;
		continue;
	&#125;	
	echo $file . "<br />";
&#125;
closedir&#40;$dh&#41;;

?>
PS: skeftomile kati pou den mporeis na kaneis yparxei??? na to do ki' as pethano!!! :P
Τελευταία επεξεργασία από το μέλος panosru την 07 Μαρ 2006 19:36, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panos78 » 07 Μαρ 2006 19:23

Σκεφτόμουν αν είναι δυνατόν να επέμβω στο array που παράγει το scandir.
Παραθέτω τον κώδικα που έχω γιατί δεν ξέρω τον κώδικα που έδωσες που να τον βάλω!;)

Κώδικας: Επιλογή όλων

<?php 

function scandir&#40;$dir = './', $sort = 0&#41; &#123; 
$dir_open = @ opendir&#40;$dir&#41;;
	if &#40;! $dir_open&#41; return false;
		while &#40;&#40;$dir_content = readdir&#40;$dir_open&#41;&#41; !== false&#41;
			$files&#91;&#93; = $dir_content;
	if &#40;$sort == 1&#41; rsort&#40;$files, SORT_STRING&#41;;
				else sort&#40;$files, SORT_STRING&#41;;
	return $files; &#125;

$folder = "content";
$files = scandir&#40;$folder&#41;;
Θέλω να επέμβω στο array $files ώστε να παραχθούν νέα array:
Το πρώτο με τα αρχεία που αρχίζουν με 0_
Το δεύτερο με τα αρχεία που αρχίζουν με 1_
κλπ.
Πως γίνεται αυτό;
;)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panosru » 07 Μαρ 2006 19:44

koita epidi exoume ksefygei apo to thema kai idios apo thn kathgoria.. sou paratheto to teleytaio post gia to sigkekrimeno thema edo, gia perisoterh bohthia epi tou thematos se periptosh pou xreiasths kane neo topic sto PHP Programmatismos to idio kai gia thn JavaScript

Κώδικας: Επιλογή όλων

<?PHP

$dirname = "./foo";
$dh = opendir&#40;$dirname&#41; or die&#40;"Den mporo na to anoikso!!! &#58;P"&#41;;

$filesFromZero = array&#40;&#41;;
$filesFromOne = array&#40;&#41;;

while &#40;!&#40;&#40;$file = readdir&#40;$dh&#41;&#41; === false&#41;&#41; &#123;
	if &#40;is_dir&#40;"&#123;$dirname&#125;/&#123;$file&#125;"&#41;&#41; &#123;
		continue;
	&#125; elseif &#40;ereg&#40;"^&#40;0_&#41;+&#40;&#91;0-9a-zA-Z_-&#93;*&#41;.&#40;php&#41;$", $file&#41;&#41; &#123;
		array_push&#40;$filesFromZero, $file&#41;;
	&#125; elseif &#40;ereg&#40;"^&#40;1_&#41;+&#40;&#91;0-9a-zA-Z_-&#93;*&#41;.&#40;php&#41;$", $file&#41;&#41;	&#123;
		array_push&#40;$filesFromOne, $file&#41;;
	&#125;
&#125;
closedir&#40;$dh&#41;;

print_r&#40;$filesFromZero&#41;;
echo "<hr>";
print_r&#40;$filesFromOne&#41;;

?>

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panos78 » 07 Μαρ 2006 20:22

Σε ευχαριστώ για τον κώδικα.
Έχεις δίκιο ξεφύγαμε λιγάκι.
Αργότερα θα ανοίξω άλλο θέμα εκεί που πρέπει, εκτός και αν κάποιος το μεταφέρει εκεί που πρέπει
;)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panosru » 07 Μαρ 2006 20:29

pou prepei? :P afto poia den exei kathgoria! :P einai HTMLoJavaScripToPHP thema!! :P

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Μετατροπή ελληνικών σε unicode

Δημοσίευση από panos78 » 07 Μαρ 2006 20:31

Αν συνεχιστεί μπορεί να μπει γενικά στα βοηθήματα.
Ούτως ή άλλως αυτά δεν τα αποφασίζουμε εμείς!;)
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Απάντηση

Επιστροφή στο “HTML και XHTML”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης