【发布时间】:2018-05-09 11:32:50
【问题描述】:
MySQL 数据库只有一张表:
<?php
$con=mysqli_connect("db2.ho.ua","spectorsky","s124816",spectorsky);
if (!$con) echo mysqli_connect_errno() . PHP_EOL.mysqli_connect_error() . PHP_EOL;
$sql="CREATE DATABASE if not exists spectorsky CHARACTER SET = utf8 COLLATE = utf8_unicode_ci";
$mysql_result=mysqli_query($con,$sql);
if ($mysql_result) {
echo "Database spectorsky created successfully". PHP_EOL; } else
echo "Database spectorsky hasn't been created: ".$con->errno.$con->error. PHP_EOL;
$sql="Create table if not exists categories (idCategory INTEGER PRIMARY KEY, nameCategory TEXT)". " CHARACTER SET = utf8 COLLATE = utf8_unicode_ci";
if (mysqli_query($con,$sql)){
echo "Table categories created successfully". PHP_EOL; } else
echo "Table categories hasn't been created: ".mysqli_error($con). PHP_EOL;
mysqli_query($con,"delete from categories") or die(mysqli_error($con));
echo "That's all";
mysqli_close($con);
?>
表格的文本字段包含 unicode 字符集中的西里尔文数据。该表在 Adroid 设备上创建,然后导出到服务器并从服务器导入。之后,Android 设备上的所有字符串都是正确的。但是,当我尝试通过 phpmyadmin 在服务器上查看这些字符串时,它们显示在 cp1251 中(字符串 АБВ 显示为 РђР'Р')。在 phpmyadmin 变量列表的列表中,我看到变量 character set database 设置为 1251,我没有足够的规则来编辑它。 SQL 选项卡上的查询set names utf8 或set character_set_database to utf8 执行时没有错误,但没有任何变化。
那么,问题来了:是否可以为当前会话更改character_set_database 变量,或者是否有其他方法可以使 phpmyadmin 以正确的方式显示 unicode?p>
提前致谢
【问题讨论】:
标签: mysql unicode phpmyadmin