我有一个数据库 (utf8_unicode_ci)、表 (utf8_unicode_ci) 和一个 mysql_query("SET CHARACTER SET utf8")。
我今天还有一个问题。我有一张表,其中有 10,000 条记录,这些记录以印地语的 unicode 格式存储。我正在使用 Xampp 1.6.2 版本。当我在本地机器上获取数据时,它显示正确;例如说“按 id 从 unicode_table 中选择 *”。
但是如果我将它上传到我的实时服务器上,它不会显示任何记录。我试图弄清楚,我发现如果我写:
select * from unicode_table order by id limit 0, 40
limit 0, 40
的查询显示数据,如果我给 limit 0, 50
然后它显示垃圾。所以recordset/mysql查询连接有问题。谁能帮我解决这个问题?
我的实时服务器是最新的 PHP 和 MySQL 更新,服务器由优秀的托管公司之一维护。
提前致谢。
最佳答案
注意事项:
1. 确保您的 html 或 php 文件将呈现内容,具有:
一)<?php header('Content-Type: text/html; charset=utf-8'); ?>
或者
ii).
<?php $page_html = "<html>";
$page_html .= "<META HTTP-EQUIV=\"content-type\" CONTENT=\"text/html; charset=utf-8\">";
$page_html .= "<body>";
$page_html .= " process and display your content from the database here ";
$page_html .= "</body></html>";
echo $page_html;
- 确保您具有如下所述的正确排序规则。 ( :) 一切顺利 )
因此,就我而言,我曾尝试将排序规则从 utf8mb4_unicode_ci
更改为对于 mysql,必须将其更改为 uft8_general_ci
.
然后粘贴:
mysqli_set_charset( $con, 'utf8');
就在我执行 SELECT 命令之前。
这是我从数据库读取的代码:
/*
$DB_SERVER="db_server_name";
$DB_USER_READER="root";
$DB_PASS_READER="passw*rd";
$DB_NAME="db_name";
$DB_PORT="port number";
$SELECT_WHAT="`name_of_column_as_in_your_table`";
$WHICH_TBL="`table_name`";
$ON_WHAT_CONDITION="`id`='7'";
*/
$con = mysqli_connect($DB_SERVER, $DB_USER_READER, $DB_PASS_READER, $DB_NAME, $DB_PORT);//this is the unique connection for the selection
mysqli_set_charset( $con, 'utf8');
$slct_stmnt = "SELECT ".$SELECT_WHAT." FROM ".$WHICH_TBL." WHERE ".$ON_WHAT_CONDITION;
$slct_query = mysqli_query($con, $slct_stmnt);
if ($slct_query==true) {
//Do your stuff here . . .
}
它就像一个魅力。一切顺利。上面的代码可以从包含此类数据的数据库表列中读取中文、俄语或阿拉伯语或任何国际语言。
关于mysql - 无法从 PHP 和 MySQL 获取印地语的 Unicode 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12581474/