Dans la base de données, il y a un nom contenant ñ (ex Niño)Comment imprimer ñ en php
quand je le récupérer à partir de la base de données, l'écho, la sortie sera Nio.
Comment puis-je résoudre ce problème?
Dans la base de données, il y a un nom contenant ñ (ex Niño)Comment imprimer ñ en php
quand je le récupérer à partir de la base de données, l'écho, la sortie sera Nio.
Comment puis-je résoudre ce problème?
Vous devrez vous assurer que vos données et le document que vous produisez (via PHP) ont le même encodage. Par exemple, si vos données dans la base de données sont UTF8 (et non corrompues)
Vous devez vous assurer de définir UTF-8 dans l'en-tête de votre document. Comme ceci:
header('Content-Type: text/html; charset=utf-8');
(Assurez-vous de définir vos têtes avant la sortie de contenu.)
Parfois, vous devez dire votre DB que vous utilisez un caractère ensemble spécifique:
$db->query("SET NAMES 'utf8'");
$db->query("SET CHARACTER SET utf8");
This article explique comment s'assurer que PHP et DB parlent le même "langage" du début à la fin. Cela implique que vous utilisiez les méthodes mb * à la place des méthodes habituelles.
Je suggère d'utiliser une bibliothèque pour ce genre de choses - comme Flourishlib qui gère tous les trucs en désordre pour vous - le db, les en-têtes, etc.
ont enfin un regard sur this general UTF 8 article pour un aperçu de la problèmes.
'C'est le moyen préféré pour changer le jeu de caractères. L'utilisation de mysql_query() pour exécuter SET NAMES .. n'est pas recommandée. '- http://www.php.net/manual/fr/fonction.mysql-set-charset.php – ajreal
Avez-vous vérifié la configuration de la base de données? Vérifiez-la d'abord sur votre base de données. J'ai le même problème avant quand je CakePHP .. voici ce dos ressembler à CakePHP
//cakephp database configuration
<?php
/**
1. This is core configuration file.
2. 3. Use it to configure core behaviour ofCake.
4. 5. PHP versions 4 and 5
6. 7. CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
8. Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
9. 10. Licensed under The MIT License
11. Redistributions of files must retain the above copyright notice.
12. 13. @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
14. @link http://cakephp.org CakePHP(tm) Project
15. @package cake
16. @subpackage cake.app.config
17. @since CakePHP(tm) v 0.2.9
18. @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
/**
19. In this file you set up your database connection details.
20. 21. @package cake
22. @subpackage cake.config
*/
/**
23. Database configuration class.
24. You can specify multiple configurations for production, development and testing.
25. 26. driver => The name of a supported driver; valid options are as follows:
27. mysql - MySQL 4 & 5,
28. mysqli - MySQL 4 & 5 Improved Interface (PHP5 only),
29. sqlite - SQLite (PHP5 only),
30. postgres - PostgreSQL 7 and higher,
31. mssql - Microsoft SQL Server 2000 and higher,
32. db2 - IBM DB2, Cloudscape, and Apache Derby (http://php.net/ibm-db2)
33. oracle - Oracle 8 and higher
34. firebird - Firebird/Interbase
35. sybase - Sybase ASE
36. adodb-[drivername] - ADOdb interface wrapper (see below),
37. odbc - ODBC DBO driver
38. 39. You can add custom database drivers (or override existing drivers) by adding the
40. appropriate file to app/models/datasources/dbo. Drivers should be named 'dbo_x.php',
41. where 'x' is the name of the database.
42. 43. persistent => true/false
44. Determines whether or not the database should use a persistent connection
45. 46. connect =>
47. ADOdb set the connect to one of these
48. (http://phplens.com/adodb/supported.databases.html) and
49. append it '|p' for persistent connection. (mssql|p for example, or just mssql for not persistent)
50. For all other databases, this setting is deprecated.
51. 52. host =>
53. the host you connect to the database. To add a socket or port number, use 'port' => #
54. 55. prefix =>
56. Uses the given prefix for all the tables in this database. This setting can be overridden
57. on a per-table basis with the Model::$tablePrefix property.
58. 59. schema =>
60. For Postgres and DB2, specifies which schema you would like to use the tables in. Postgres defaults to
61. 'public', DB2 defaults to empty.
62. 63. encoding =>
64. For MySQL, MySQLi, Postgres and DB2, specifies the character encoding to use when connecting to the
65. database. Uses database default.
66. */
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'web_user',
'prefix' => '',
//'encoding' => 'utf8',
);
var $test = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'test_database_name',
'prefix' => '',
//'encoding' => 'utf8',
);
}
Vous devez décommenter la ligne qui ont le encoding => « utf8 »
string Essayez remplacer la fonction (str_replace (trouver, remplacer, chaîne)) Essayez de visiter ce site pour plus d'informations. http://www.w3schools.com/php/func_string_str_replace.asp Bonne chance! J'espère que cela vous aide! :-)
C'est le codage de caractères quelque part le long de la ligne. Quel serveur de base de données - MySQL? – JAL