Visualizzazione dei risultati da 1 a 4 su 4

Discussione: charset e collation

  1. #1

    charset e collation

    ciao

    ho avuto (ora si sono risolti) dei problemi tra un form che inviava dati ad un db
    il problema era l'impostazione nn corretta sul server del charset
    questo portava a 'troncare' di netto il testo dalla prima lettera accentata in poi
    il testo veniva quindi inserito solo parzialmente nel dbase

    ora, come dicevo, questo problema è stato risolto anche se sembra ce ne siano altri (http://forum.html.it/forum/showthrea...readid=1001243)
    sui ns server tutto ok, il problema si pone su un server 'esterno'

    detto questo come premessa vorrei capire una cosa della gestione dei charset/collation da parte di mysql

    io setto il charset nel codice html e, se non sovrascritto dal server, fin qui tutto ok
    poi invio il form al dbase
    chiaramente il tutto poggia su apache che dovrà anch'esso aver settato un corretto charset
    tornando al dbase questo dovrà ricevere ed inserire i dati in maniera corretta
    due valori, charset e collation (quest'ultimo può essere modificato da phpmyadmin)

    ora, ammettendo di avere un charset iso-8559-1 nel codice html e nel server
    cosa è corretto mettere nel charset e collation ?
    molti hoster mettono utf-8 come charset ma mi sfugge il motivo .. ??
    Come collation invece spesso si trova latin_swedish.. ma spesso da problemi con l'accentate..

    non è + corretto ut8_general_ci al limite ??

    quali è meglio utilizzare per una corretta visualizzazione dei caratteri italiani/inglesi ?

    non è meglio un latin_general_ci piuttosto del ut8_general_ci ?

    [°_°] The Web Styler Project [°_°]
    :.:Classifica Spettacolare :.:
    :-:Partecipa :-: GUADAGNA SCRIVENDO ARTICOLI !! fino a 2,5 crediti per parola

  2. #2
    la guida di Luca200

    http://database.html.it/guide/lezion...-di-caratteri/

    Il manuale

    http://dev.mysql.com/doc/refman/5.0/...t-general.html


    il character set rappresenta la codifica dei vari simboli che compongono la specifica lingua, il COLLATION il modo con cui questi caratteri vengono ordinati. Quindi il COLLATION e' legato allo specifico character set.

    A sua volta poi ci sono diversi livelli in cui questo CHARSET puo' essere applicato/diversificato, ma ogni COLLATION e' compatibile solo con il suo specifico CHARSET.

    Quindi se un COLLATION per nome inizia con LATIN1 e' compatibile "SOLO" con il CHARSET LATIN1. avrai poi il suffisso _ci, _cs, _bin che indicheranno rispettivamente che il contenuto della colonna sara' CASE INSENSITIVE, CASE SENSITIVE oppure BINARY. Il nome della lingua rappresenta invece il diverso ordinamento di lettere specifiche di un dato alfabeto tipo accenti strani che in una lingua sono ordinati diversamente che in altra.

    Ma leggi i link specificati che lo spiegano meglio di quanto posso fare io in due righe.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Originariamente inviato da piero.mac
    la guida di Luca200

    http://database.html.it/guide/lezion...-di-caratteri/

    Il manuale

    http://dev.mysql.com/doc/refman/5.0/...t-general.html


    il character set rappresenta la codifica dei vari simboli che compongono la specifica lingua, il COLLATION il modo con cui questi caratteri vengono ordinati. Quindi il COLLATION e' legato allo specifico character set.

    A sua volta poi ci sono diversi livelli in cui questo CHARSET puo' essere applicato/diversificato, ma ogni COLLATION e' compatibile solo con il suo specifico CHARSET.

    Quindi se un COLLATION per nome inizia con LATIN1 e' compatibile "SOLO" con il CHARSET LATIN1. avrai poi il suffisso _ci, _cs, _bin che indicheranno rispettivamente che il contenuto della colonna sara' CASE INSENSITIVE, CASE SENSITIVE oppure BINARY. Il nome della lingua rappresenta invece il diverso ordinamento di lettere specifiche di un dato alfabeto tipo accenti strani che in una lingua sono ordinati diversamente che in altra.

    Ma leggi i link specificati che lo spiegano meglio di quanto posso fare io in due righe.
    Ciao, già letti entrambi

    ma i dubbi permangono :

    ammettendo di avere un charset iso-8559-1 nel codice html e nel server
    cosa è corretto mettere nel charset e collation ?
    molti hoster mettono utf-8 come charset ma mi sfugge il motivo .. ??
    Come collation invece spesso si trova latin_swedish.. ma spesso da problemi con l'accentate..

    non è + corretto ut8_general_ci al limite ??

    quali è meglio utilizzare per una corretta visualizzazione dei caratteri italiani/inglesi ?

    non è meglio un latin_general_ci piuttosto del ut8_general_ci ?


    inoltre, come hai fatto giustamente notare, un charset segna la scelta del collation
    ergo
    se il charset è utf8 e sono in hosting non ho alternative se non quelle di usare un utf8_general_ ..
    [°_°] The Web Styler Project [°_°]
    :.:Classifica Spettacolare :.:
    :-:Partecipa :-: GUADAGNA SCRIVENDO ARTICOLI !! fino a 2,5 crediti per parola

  4. #4
    occhio che il charset e' applicabile a differenti livelli. Ti posto il mio strettamente di default e senza problemi di accentate o di ordinamento e/o compatibilita'. tu puoi applicare il charset latin1 al db ed alle tabelle con il collate che ti pare (di latin1)

    codice:
    character set client utf8 
    (Valore globale) latin1 
    
    character set connection utf8 
    (Valore globale) latin1 
    
    character set database latin1 
    
    character set filesystem binary 
    
    character set results utf8 
    (Valore globale) latin1
     
    character set server latin1 
    
    character set system utf8
     
    character sets dir C:\Programmi\MySQL\MySQL Server 5.0\share\charsets\ 
    
    collation connection utf8_unicode_ci 
    (Valore globale) latin1_swedish_ci 
    
    collation database latin1_swedish_ci 
    
    collation server latin1_swedish_ci

    ti aggiungo un link agli appunti linux che puo' interessare.

    http://www.ipv7.net/ildp/appuntilinux/AL-8.24.124.html

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.