<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Café</title><link>https://www.dotnetzone.gr:443/cs/forums/68/ShowForum.aspx</link><description>Η μεριά της συζήτησης με χαλαρά θέματα...</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63310.aspx</link><pubDate>Wed, 16 Feb 2011 18:35:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63310</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63310.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63310</wfw:commentRss><description>Ναι σε αυτό έχεις πολύ δίκιο, και ειδικά για περίπτωση python, πάντα κοιτάω να έχω το script έτοιμο για utf8 και γενικά θέλω το περιβάλλον να το έχω έτσι, απλά δεν είχα βρεί η αλήθεια είναι κάποιες λεπτομέρειες που σας είπα πριν για το τερματικό, και που μάλλον θα βοηθούσαν. Όσο για τα ελληνικά που γίνονται κινέζικα, τρομακτικό το σενάριο ;-) πάντα τεστάρω τα αποτελέσματα.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Και πράγματι η MySQL χάνει πολύ, που δεν ξεχωρίζει nchar/char (plus "set Names utf8"), για εμένα γιατί τελικά αφού όλοι το χρησιμοποιούν να ψάχνεις να σετάρεις ελληνικά της προκοπής σε σύστημα linux/windows είναι πολύ πονοκέφαλος που δεν υπήρχε λόγος.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Αλλά τώρα με μπέρδεψες σε κάτι, επειδή μιλάς για "unicode", με unicode(όποιαδήποτε τροποποίηση) αλλά και πιο συγκεκριμένα και με το utf16 εγώ δεν έχω καταφέρει να δώ ελληνικά. Πάντα, utf8. Εσύ έχεις δεί με utf16 ή κάτι άλλο;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item><item><title>Απ: Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63300.aspx</link><pubDate>Wed, 16 Feb 2011 16:56:14 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63300</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63300.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63300</wfw:commentRss><description>&lt;div&gt;Δεν προσπαθώ να υπερασπιστώ το λειτουργικό, απλά σου λέω ότι το πρόβλημα σου δεν έχει να κάνει με το λειτουργικό. Τα Windows είναι Unicode by default, internally και πρέπει να δουλέψεις για να γυρίσεις σε ASCII. Επίσης, οι γλώσσες του .NET και η Java είναι και αυτές Unicode by default. Λειτουργικό και γλώσσες δουλεύουν με unicode χωρίς να κάνεις τίποτε ιδιαίτερο, απλά γράφοντας ένα string. H MySQL και η Python δεν είναι unicode by default και γι αυτό πρέπει να ορίζεις encodings και να αναρωτιέσαι πότε έγινε το σωστό και πότε όχι.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;To UTF8 ΔΕΝ είναι το codepage της ελληνικής. Το Unicode δεν έχει συγκεκριμένα codepages ανά γλώσσα, εξάλλου φτιάχτηκε για να απαλλαγούμε από τα codepages. Άσε που δεν έχει και όφελος για τα ελληνικά καθώς τα ελληνικά strings χρειάζονται δύο bytes ανά χαρακτήρα, όπως και το UTF16/UCS2.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Επίσης, στις περισσότερες βάσεις (Oracle, SQL Server, DB2) αλλά και στο SQL Standard υπάρχει διαχωρισμός μεταξύ απλού CHAR και National CHAR το οποίο κατά κανόνα είναι Unicode (στην Informix παίζει αλλιώς). Η MySQL δεν έχει national char τύπους και γι αυτό χρησιμοποιεί το UTF8 λες και είναι άλλο ένα ANSI encoding. Αν δεν φροντίσεις να χειριστείς τα string που σου επιστρέφει σωστά μπορείς άνετα να αποθηκεύσεις λάθος encoding εκεί μέσα και δεν θα το καταλάβεις μέχρι να το δει ο χρήστης.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Μια και λες ότι δουλεύει σε άλλα λειτουργικά ... είσαι τυχερός που κανείς δεν έριξε λάθος strings. Έχουν γίνει αρκετές ερωτήσεις εδώ στο παρελθόν για κείμενα τα οποία ήταν ελληνικά στο ξεκίνημα και κατέληξαν κινέζικα στο τέλος. Αν ξεχάσεις να κάνεις π.χ. escape τα string που διαβάζεις στην python τα ελληνικά θα φτάσουν πίσω ως ANSI και όχι UTF8. Μην ξεχνάς, το default της python είναι το ANSI και όχι το UTF8. Σου φάνηκε ότι δεν υπάρχει πρόβλημα γιατί έτυχε το τερματικό ή η σελίδα εισαγωγής των δεδομένων να είναι UTF8 οπότε τα δεδομένα έφτασαν χωρίς πρόβλημα στη βάση. Αν δεν ίσχυε αυτό, θα έβλεπες κινέζικα.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Η διαφορά είναι ότι ενώ στα Windows, τις περισσότερες βάσεις και τη Java υπάρχει ειδικός χειρισμός για unicode και αυτόματες μετατροπές ή ειδοποιήσεις όταν υπάρχει conversion από/σε ASCII, στο συνδυασμό Python/MySQL βασίζεσαι μόνο στα default encodings και στο ότι writer και reader θα έχουν το ίδιο encoding. Με άλλα λόγια, είναι λες και γράφεις ακόμα σε DOS ...&lt;/div&gt;</description></item><item><title>Απ: Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63295.aspx</link><pubDate>Wed, 16 Feb 2011 09:37:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63295</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63295.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63295</wfw:commentRss><description>Οκ, Παναγιώτη, με έχεις παρεξηγήσει, δεν μιλάω ενάντια στο λειτουργικό. Μου αρέσει η ανάλυση, αλλά όλο το concept μου φαίνεται λιγάκι χαλαρό. Γιατί, πρώτον το utf8 είναι το codepage της ελληνικής, η mysql υποστηρίζει utf8 ( εκτός και αν εγώ δεν έχω καταλάβει την mysql, άνθρωποι είμαστε...), και σε λειτουργικά άλλα, δουλεύει τέλεια, γνωρίζοντας, ότι το τερματικό είναι utf8. Και πολύ περισσότερο όλο το GUI ακόμα καλύτερα.&lt;div&gt;&lt;br&gt;&lt;div&gt;Γενικά αναφέρομαι στο τερματικό που είναι έξοδος ansi και μάλιστα το 737. Τώρα μάλιστα που το ξανακοιτάω, ανακάλυψα και την ύπαρξη της chcp!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;βρήκα και αυτό το αξίολογο -νομίζω-&amp;nbsp;&lt;span class="Apple-style-span" style="font-size:11.6667px;"&gt;&lt;a href="http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using"&gt;http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;στο οποίο περιγράφει λεπτομέρειες που ειλικρινά δεν φανταζόμουνα. Όπως το τι σημαίνει raster fonts και γιατί επηρεάσαν πιθανά την Mysql.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Καθώς και την cmd /u που θα την δοκιμάσω τις επόμενες μέρες ;-)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Πάντως διαφοτιστική η συζήτηση. &amp;nbsp;:-)&lt;/div&gt;</description></item><item><title>Απ: Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63285.aspx</link><pubDate>Wed, 16 Feb 2011 02:16:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63285</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63285.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63285</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;m6s:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Παναγιώτη UCS-2 είναι το UTF-16 ;&lt;BR&gt;&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Όχι ακριβώς, και εδώ είναι η τρέλα. Το UTF-16 είναι ... variable length και μπορεί να πιάσει 16 ή 32 bits. Το UCS2 είναι πάντα 16 bit κι έτσι δεν καλύπτει κάποιους χαρακτήρες πάνω από το 63488 (μάλλον είναι τα αρχαία πρωτοκινέζικα). Δες και το σχετικό στο &lt;A href="http://en.wikipedia.org/wiki/UTF-16/UCS-2"&gt;Wikipedia&lt;/A&gt;. &lt;/P&gt;</description></item><item><title>Απ: Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63284.aspx</link><pubDate>Wed, 16 Feb 2011 02:12:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63284</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63284.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63284</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;m6s:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Πολλά "Like" στην απάντηση!, αλλά είναι pain in the...ονιονς. Κανά τερματικό σε utf-8 να κάνει replace τελείως όμως το cmd.exe δεν παίζει; Δηλαδή ever δεν υπήρξε τέτοια ανάγκη; φαντάσου αυτό query mysql από python σε τερματικό ansi...όλα τα λεφτά... ;-) :-)&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Ώπα, εδώ δεν φταίνε τα Windows αλλά η MySQL η οποία χειρίζεται περίεργα τα unicode και τα θεωρεί απλά άλλο ένα codepage και μάλιστα καταλαβαίνει μόνο από UTF8 (τα περί δυτικών χωρών που λέγαμε. Τί να βάζουμε unicode support, ρίξε ένα utf8 να τελειώνουμε). Αν δεν βάλεις το σωστό codepage στο connection string της τα αποτελέσματα θα είναι κομμάτι περίεργα. Αν τώρα η python που χρησιμοποιείς νομίζει ότι παίρνει ansi strings αντί για unicode, πάλι θα έχεις πρόβλημα -&amp;nbsp;και εδώ που τα λέμε, το default encoding της Python είνα&amp;nbsp;ASCII ...&lt;/P&gt;
&lt;P&gt;Μην κατηγορείς το λειτουργικό επειδή βάση και γλώσσα δεν&amp;nbsp;παίζουν καλά με&amp;nbsp;Unicode - ή μάλλον, θεωρούν ότι το Unicode είναι edge case. Κάτι μου λέει ότι η&amp;nbsp;IronPython δεν θα είχε προβλήματα μετατροπών (εφόσον έχεις δώσει το UTF8 codepage&amp;nbsp;στο&amp;nbsp;MySQL connection string &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;&amp;nbsp;)&lt;/P&gt;</description></item><item><title>Απ: Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63283.aspx</link><pubDate>Wed, 16 Feb 2011 02:06:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63283</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63283.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63283</wfw:commentRss><description>Παναγιώτη UCS-2 είναι το UTF-16 ;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63282.aspx</link><pubDate>Wed, 16 Feb 2011 02:01:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63282</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63282.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63282</wfw:commentRss><description>&lt;P&gt;Η πραγματική σχιζοφρένεια είναι ότι αυτό που ζητάει ο m6s ΕΙΝΑΙ αυτό που ήδη συμβαίνει. Default είναι το Unicode και μάλιστα το UCS-2 (2-byte Unicode), εκτός και αν η εφαρμογή δεν υποστηρίζει Unicode, δηλ. έχει γίνει native compile με τα ANSI libraries και όχι με Unicode. Το codepage που χρησιμοποιούν οι non-Unicode εφαρμογές είναι απολύτως καθορισμένο, και είναι αυτό που ορίζεις στο system locale.&lt;/P&gt;
&lt;P&gt;Μετά όμως, να μην μπορεί η κάθε εφαρμογή να χρησιμοποιεί το codepage που ζητάει ο χρήστης? Ε? Να μην το χρησιμοποιήσει? Ή αν ο προγραμματιστής λέει "εγώ θέλω ELOT-928" τί θα του πεις, ότι θα παίξει μόνο με το codepage στο locale? Κι έτσι καταλήγεις παρά τα default, διαφορετικές εφαρμογές καταλήγουν να χρησιμοποιούν διαφορετικά codepages.&lt;/P&gt;
&lt;P&gt;Από την άλλη και ο darklynx έχει δίκιο, ειδικά για το Unicode. Για τις δυτικές χώρες το UTF8 είναι πιο λογικό από το UCS2 ενώ για εμάς το αντίθετο. Το notepade κάνει τα αδύνατα-δυνατά για να ανακαλύψει το encoding ενός text αρχείου, αλλά στο τέλος η κάθε εφαρμογή θα αποθηκεύσει εκεί που θέλει αυτή ή ζητάει ο χρήστης. Ακόμα και για το txt&lt;/P&gt;</description></item><item><title>Απ: Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63281.aspx</link><pubDate>Wed, 16 Feb 2011 01:56:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63281</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63281.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63281</wfw:commentRss><description>Πολλά "Like" στην απάντηση!, αλλά είναι pain in the...ονιονς. Κανά τερματικό σε utf-8 να κάνει replace τελείως όμως το cmd.exe δεν παίζει; Δηλαδή ever δεν υπήρξε τέτοια ανάγκη; φαντάσου αυτό query mysql από python σε τερματικό ansi...όλα τα λεφτά... ;-) :-)&lt;br&gt;</description></item><item><title>Απ: Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63279.aspx</link><pubDate>Wed, 16 Feb 2011 01:32:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63279</guid><dc:creator>darklynx</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63279.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63279</wfw:commentRss><description>Υπονοείς&amp;nbsp;ότι η utf-8 είναι κατάλληλη για όλες τις δουλειές;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;&lt;div&gt;Η τέλεια κωδικοποίηση χαρακτήρων είναι ότι ο τέλειος άντρας για τις γυναίκες:καθορίζεται από αντιφατικά κριτήρια που συχνά αναιρούν το ένα το άλλο.Και φυσικά στο τέλος καταλήγουν οι αντίστοιχες ενδιαφερόμενες ομάδες με αυτό που είναι βολικό ανά περίσταση.&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;&lt;/div&gt;</description></item><item><title>Σχιζοφρένεια με τα codepages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63277.aspx</link><pubDate>Tue, 15 Feb 2011 23:39:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63277</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63277.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=68&amp;PostID=63277</wfw:commentRss><description>Χαβαλεδιάρικη ερώτηση...αλλά όχι παράλογη... και δεν ξέρω αν έχει ξαναγίνει...&lt;br&gt;&lt;br&gt;ανοίγεις...cmd.exe (command.exe ( command.com! ) ) ...ansi&lt;br&gt;..............editor...ansi&lt;br&gt;..............χ-άλλο editor...utf8 ?&lt;br&gt;..............thunderbird...iso8859-7..?&lt;br&gt;..............windows explorer utf8!? δεν βάζω το χέρι μου στην φωτιά...&lt;br&gt;&lt;br&gt;σχιζοφρένεια! Μπορεί να δουλέψει ένα σύστημα windows με μια κωδικοποίηση, και μόνο; utf-8. τελεία. είτε ανοίγεις τερματικό είτε "νοτπαδ" ; nothing else!&lt;br&gt;το έχει ψάξει κανείς;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>