Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με το LIKE στα ελληνικά

Îåêßíçóå áðü ôï ìÝëïò anthou. Τελευταία δημοσίευση από το μέλος anthou στις 29-04-2015, 21:07. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-04-2015, 18:40 77054

    Πρόβλημα με το LIKE στα ελληνικά

    Στον localhost προσπαθώ να εκτελέσω ενα ερώτημα  (..where eponimo like 'ΛΟ%') και το αποτέλεσμα είναι τίποτα, αν και υπάρχουν εγγραφές που αρχίζουν με τα στοιχεία που ζητώ

    Το collation της βάσης είναι : GREEK_CI_AS

    Όταν κάνω σύνδεση στο hosting  που είναι το site και κάνω το ίδιο ερώτημα τότε λειτουργεί κανονικά

    Γιατί δεν λειτουργεί στο locahost ;  

    Το   collation του server είναι : SQL_Latin1_General_CP1_CI_AS είναι αυτό η αιτία του προβλήματος αν ναι πως αλλάζει για να λειτουργεί σωστά

     

  •  29-04-2015, 12:32 77055 σε απάντηση της 77054

    Απ: Πρόβλημα με το LIKE στα ελληνικά

    Τί τύπου είναι το πεδίο? Αν είναι nvarchar θα πρέπει να γράψεις ( where eponimo like N'ΛΟ%' ). Το πρόθεμα N σημαίνει ότι το string literal είναι nvarchar, αλλιώς είναι varchar και θα πρέπει να γίνουν μετατροπές από το codepage της σύνδεσης (τυπικά είναι αυτό του server) σε αυτό της στήλης.

    Όπως αναφέρεις τα codepages στήλης και server διαφέρουν. Αν δεν είναι nvarchar, έχεις οπωσδήποτε μετατροπή μεταξύ ενός ASCII string σε Latin codepage το οποίο περιέχει ελληνικούς χαρακτήρες, σε ελληνικό codepage με αποτέλεσμα να μετατραπούν σε κινέζικα. Δοκίμασε να δώσεις πάλι ( N'ΛΟ%' ) για να αποφύγεις τη λάθος μετατροπή. 

    Αυτός πάντως είναι *ένας* λόγος που δεν πρέπει να χρησιμοποιούμε varchar σχεδόν ποτέ. 


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  29-04-2015, 21:07 77056 σε απάντηση της 77055

    Απ: Πρόβλημα με το LIKE στα ελληνικά

    οκ Λειτουργεί σωστά με την υπόδειξή σου ( N'ΛΟ%' ) 

    Είναι  πρόβλημα που το  collation του server είναι : SQL_Latin1_General_CP1_CI_AS και το collation της βάσης είναι : GREEK_CI_AS ;

    Ποιο θα πρέπει να είναι το σωστό ; 

    Ευχαριστώ για την βοήθεια 

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems