%20a%20una%20tabla%20de%20base%20de%20datos%20en%20PHP%2FMySQL.png)
Tengo problemas para que la tabla de mi base de datos muestre caracteres latinos. (ã,õ,á,é,í,…). Estoy usando el servidor WAMP con Apache 2.4.9 y MySQL 5.6.17.
Tengo un formulario simple que creé en HTML y tengo un código PHP que ejecuta una consulta y crea la cuenta. Aquí está el código PHP:
include('config.php'); //My database data for connection
if(isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$query = "INSERT INTO account SET username = '".$username."', password = PASSWORD('".$password."'), email = '".$email."'";
$execute_query = mysqli_query($connection, $query);
if($execute_query) {
//Creates the account
}
else {
//If an error occures
}
}
Ahora, por ejemplo, creo una cuenta con:
Username: Luís
Password: 1234
E-mail: [email protected]
Cuando reviso la tabla, muestra la cuenta creada pero se muestra el nombre de usuario.Luisen lugar deLuis.
Cosas que he probado:
Creating a DataBase and Table with:
utf8_general_ci
utf8_unicode_ci
utf8mb4_general_ci
utf8mb4_unicode_ci
latin1_swedish_ci
Ninguno de ellos funcionó, siempre se nota queAen lugar dei.
Respuesta1
He solucionado mi problema con la consulta "SET NAMES utf8".
include('config.php'); //My Database data for connection.
//Connection set with $connection = mysqli_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_db)
if(isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$connection->query("SET NAMES utf8"); //FIXED (Gets $connection from config.php and runs the query "SET NAMES utf8")
$query = "INSERT INTO account SET username = '".$username."', password = PASSWORD('".$password."'), email = '".$email."'";
$execute_query = mysqli_query($connection, $query);
if($execute_query) {
//Creates the account
}
else {
//If an error occures
}
}
Gracias@Giacomo1968 por intentar ayudarme en su respuesta., después de todo no tuve problemas con la tabla de mi base de datos.
Mi base de datos y mi tabla se configuraron con CHARSET=utf8
y COLLATE=utf8_unicode_ci
.