Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    15

    Probelmi con lo storage di caratteri GIAPPONESI

    Ho un problemi nello storage di caratteri giapponesi. Sto cercando di farmi un database per motivi didattici, in sostanza il problema riesiede nel fatto che quando inserisco caratteri giapponesi come せんせい(sensei=maestro) me lo stora con delle lettere incompresibili(‚¹‚ñ‚¹‚¢ ) e quando lo richiamo non mi stampa i kanji o l'hiragana ma queste cose strane. Allora ho pensato di impostare il sistema di storage di mysql 5 con l'utf8 specifico per il set di caratteri asiatici orientali ma beffa delle beffe non mi accetta la query se metto ideogrammi....prende solo caratteri occidentali...che fregatura è?
    In aggiunta le colonne sono tutte di tipo VARCHAR(25).
    Per completezza posto anche il codice che si occupa di popolare il database anche se so con certezza che è corretto:

    <?
    include('login.php');

    $kanji = $_POST['kanji'];
    $hiragana = $_POST['hiragana'];
    $katakana = $_POST['katakana'];
    $romanji = $_POST['romanji'];
    $italiano = $_POST['italiano'];

    if($kanji != "" || $hiragana != "" || $katakana != "" || $romanji != "" || $italiano != "")
    {
    /*create table words(id INT(10) UNSIGNED not null AUTO_INCREMENT, kanji VARCHAR(25), hiragana VARCHAR(25), katakana VARCHAR(25), romanji VARCHAR(25), italiano VARCHAR(25), PRIMARY KEY (id));*/
    $db = mysql_connect($db_host, $db_user, $db_pwd);
    $query = "INSERT INTO words(kanji, hiragana, katakana, romanji, italiano) VALUES('$kanji', '$hiragana', '$katakana', '$romanji', '$italiano');";
    if($db == FALSE) die('Errore di connessione al database.');
    mysql_select_db($db_name, $db);
    if(mysql_query($query, $db)) echo 'Parola aggiunta.';
    else die('Errore, database non aggiornato.');
    mysql_close($db);
    }
    else die('Errore, devi compilare almeno uno dei campi.');
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    15
    nessuno sa aiutarmi?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    15
    Help plz!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    15
    Son disperato qualcuno mi aiuti, o almeno ditemi dove chiedere aiuto...
    Ho spulciato la documentazione di mysql riguardante i character set e ho fatto 1000 tentativi senza successo, sono veramente demoralizzato, help...

  5. #5
    Ciao,

    non homai lavorato con i caratteri orientali, ma credo tu debba abilitare le mbstring e dare una letta qui

    http://www.php.net/mbstring

    per quanto riguarda mysql...che versione stai usando?
    per favore NIENTE PVT TECNICI da sconosciuti

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    15
    Mysql 5.0

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    15
    ho letto l'articolo e provato ad attivare le mbstring, ottengo gli stessi identici risultati sto perdendo le speranze
    la cosa che non capisco è perchè non accetti imput di caratteri orientali quando setto mysql con il char set base utf8 e invece li prende(anche se ingarbugliati) quando setto char set base latin1.
    ho anche creato le colonne corrispondenti ai caratteri orientali con "CHARACTER SET utf8"...quasi come se cercassi di inserire un tipo diverso da quello prefedefinito per la colonna.

    Ho anche provato a usare le configurazini di esempio mostrate nella documentazione senza ottenere alcun cambiamento...

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    15
    Sai dirmi se il mio problema potrebbe dipendere dalla table collation?

  9. #9
    Purtroppo non ti posso aiutare, non ho ancora esperienza con MySQL 5.

    In teoria la collation dovrebbe riguardare solamente il confronto tra le stringhe.
    per favore NIENTE PVT TECNICI da sconosciuti

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Ciao,
    anche io utilizzo caratteri giapponesi e sono con PHP 5.0 e mysql 5.0.37.

    Per quanto riguarda la codifica html, alla fine ho scelto di usare la codifica shif_jis

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">

    <
    html>
    <
    head>
    <
    script language="JavaScript">
        ....
    </script>
    <title>Titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> 

    Come collation nelle tabelle nel database uso sjis_japanese_ci, un set di caratteri case insensitive.

    dopo essermi connesso al database invio questa query:

    Codice PHP:
                 $link mysql_connect("localhost","nomeutene","password") or die("Could not connect " mysql_error() );
        
    mysql_select_db("mioDB") or die("Could not select database " mysql_error());
        
    mysql_query("SET NAMES 'sjis';"$link); 
    e mi funziona tutto...
    tranne l'inserimento del caratte katakana so.
    Riporto fra parantesi il carattere ma non so se verrà visualizzato per bene (ソ)

    Facendo un ricerca con google ho trovato che questo problema si riferisce al fatto che questo carattere corrisponde ad un valore di default... ma purtroppo non ho potuto capire come hanno risolto perchè non comprendo la lingua giapponese.

    Magari se interessa anche a te e riesci a capire come hanno risolto questo problema posta in questa discussione.

    Ciao
    Guidino

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.