Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Hello,
Je galère depuis quelques jours pour pouvoir dialoguer en Unicode avec ma base Sql Server.
Configuration :
PHP exécuté sur un serveur Linux avec freetds d'installé. En face, base SQL Server 2005 sur un Windows.
Conf Freetds :
[ma_connexion_utf8] host = mon_hote_sql port = 1433 client charset = UTF-8 tds version = 7
Ma page PHP est en Unicode, et je fais une requête de ce type :
$params = array( 'host' =>'ma_connexion_utf8', 'pdoType' =>'dblib', 'dbname' =>'MA_BASE', 'username' =>'mon_login', 'password' =>'mon_password' ); $db = Zend_Db::factory('Pdo_Mssql', $params); $sql = "INSERT INTO... VALUES ('1',N'éâtôtà','6655'... $stmt = new Zend_Db_Statement_Pdo($db, $sql);
Mes champs sont en NVARCHAR en base.
Quand je regarde le contenu de ma table vi SQL Server Managment Studio Express, mes données ressemblent à :
éâtôtÃ*
Est-ce que j'aurais oublié de paramétrer un truc ?
Merci de votre aide.
Hors ligne
dans MySQL il y a beaucoup de niveau de gestions des caractères
la tu simplement dit à MySQL que ta connexion utilise UTF8 (et pas unicode ce n'est pas la même chose)
dans MYSQL tu as
Le serveur
La base
La table
Le champs
La connexion
le client
chacun d'eux peut avoir son jeu de caractères et même une collation (variation sur le jeux)
si tu veux utiliser UFT8 de façon homogène il te faut une des conf suivante
Le serveur ???
La base ???
La Table ???
Le champs UTF8
La connexion UTF8
le client UTF8
ou
Le serveur ????
La base ???
La Table UTF8
Le champs pas spécifié
La connexion UTF8
le client UTF8
ou
Le serveur ????
La base UTF8
La Table pas spécifié
Le champs pas spécifié
La connexion UTF8
le client UTF8
dans ton cas c'est peut être simplement SQL Server Managment Studio Express (Le client) qui n'est pas UTF8
A+JYT
Hors ligne
Hello,
@sekaijin: MSSQL <= avec un S, mais j'imagine (enfin j'espère) que ce que tu dis s'applique aussi.
A+
Hors ligne
oops
mais effectivement il faut une cohérence de bout en bout sur la chaine
je ne me souviens pas que MsSQL traite le charset au niveau du champs
mais pour le reste même topo
A+JYT
Hors ligne
Pages: 1