Cuando estoy tratando de insertar el texto ruso en la base de datos MySQL lo inserta como: г ???????????? ?? ????????
Рісѓрїр ° ріс <рї р ° с <рір ° рїno se puede insertar el texto ruso en la base de datos mysql
lo tanto, tengo dos páginas: registration.php y addUser.php. En cada uno de ellos
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
base de datos consta de 11 tablas, cada tabla tiene cotejo: utf8_general_ci, Tipo: MyISAM. Cada campo en cada tabla tiene colación: utf8_general_ci.
Cuando estoy escribiendo en la base de datos directamente en phpMyAdmin y luego mostrar estos datos a la página web. En inglés y ruso, todo está bien.
Pero cuando estoy lleno mi formulario con datos personales en registration.php y luego yendo a addUser.php - todos los caracteres rusos aparecen como escribí en la parte superior de la página y también en la base de datos.
function AddNewUser($Name, $Surname, $FatherName, $Email, $Password, $Phone, $DegreeID, $RankID,
$Organization, $Department, $Country, $City, $Address, $Job)
{
//fetch data from database for dropdown lists
//connect to db or die)
$db = mysql_connect($GLOBALS["gl_kussdbName"], $GLOBALS["gl_kussUserName"], $GLOBALS["gl_kussPassword"]) or die ("Unable to connect");
//to prevenr ????? symbols in unicode - utf-8 coding
mysql_query("SET NAMES 'UTF8'");
//select database
mysql_select_db($GLOBALS["gl_kussDatabase"], $db);
$sql = "INSERT INTO UserDetails (
UserFirstName,
UserLastName,
UserFatherName,
UserEmail,
UserPassword,
UserPhone,
UserAcadDegreeID,
UserAcadRankID,
UserOrganization,
UserDepartment,
UserCountry,
UserCity,
UserAddress,
UserPosition)
VALUES(
'".$Name."',
'".$Surname."',
'".$FatherName."',
'".$Email."',
'".$Password."',
'".$Phone."',
'".$DegreeID."',
'".$RankID."',
'".$Organization."',
'".$Department."',
'".$Country."',
'".$City."',
'".$Address."',
'".$Job."'
);";
//execute SQL-query
$result = mysql_query($sql, $db);
if (!$result)
{
die('Invalid query: ' . mysql_error());
}
//close database = very inportant
mysql_close($db);
}
?>
Hay
también dicha información en phpMyAdmin:
auto increment increment 1
auto increment offset 1
autocommit ON
automatic sp privileges ON
back log 50
basedir \usr\local\mysql-5.1\
big tables OFF
binlog cache size 32,768
binlog format STATEMENT
bulk insert buffer size 8,388,608
character set client utf8
(Global value) cp1251
character set connection utf8
(Global value) cp1251
character set database cp1251
character set filesystem binary
character set results utf8
(Global value) cp1251
character set server cp1251
character set system utf8
character sets dir \usr\local\mysql-5.1\share\charsets\
collation connection utf8_general_ci
(Global value) cp1251_general_ci
collation database cp1251_general_ci
collation server cp1251_general_ci
completion type 0
concurrent insert 1
por eso es necesario para mostrar correctamente, guardar y seleccionar texto ruso de la base de datos. Gracias! tiempo de espera de conexión 10 datadir \ usr \ \ Local mysql-5.1 \ data \
http://developer.loftdigital.com/blog/php-utf-8-cheatsheet – BalusC
Gracias, BalusC !! Tu respuesta fue lo mejor que ayuda !!! – yozhik