PHP MySQL希腊字母显示类似????标志
我有一个带有一些文本的表,文本是希腊字母,当我使用sql工具并从中选择数据时,该表显示正确 但当我展示这个时,我的站点前端使用mysql_fetch数组,当echo显示如下 有人知道如何修复这个错误吗 谢谢。请尝试以下操作: 连接到mysql后,执行此查询以确保使用UTF8:PHP MySQL希腊字母显示类似????标志,php,mysql,character-encoding,Php,Mysql,Character Encoding,我有一个带有一些文本的表,文本是希腊字母,当我使用sql工具并从中选择数据时,该表显示正确 但当我展示这个时,我的站点前端使用mysql_fetch数组,当echo显示如下 有人知道如何修复这个错误吗 谢谢。请尝试以下操作: 连接到mysql后,执行此查询以确保使用UTF8: mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); 确保在HTML(head)中使用正确的编码,请尝试: <met
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
确保在HTML(head)中使用正确的编码,请尝试:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
如果这没有帮助,请尝试不同的编码,如ISO-8859-1,将此代码留给通过谷歌访问此网站的用户,因为他们有相同的问题,但使用PDO(如我)-您应该可以:
$dns = "mysqli:host=localhost;dbname=db_name";
$pdo = new PDO($dns, 'db_user', 'db_pass',
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
$pdo->exec("SET CHARACTER SET 'utf8'");
我浪费了很多时间才弄明白 简介: 希腊字符在mysql中出现错误。我用PHP应用了qxxx答案,效果很好。 然后,我不得不将所有内容迁移到新主机,然后问题再次出现 怎么了? MySQL的模式字符集被设置为拉丁文。存储过程的参数继承了MySQL的模式字符集 那么我做了什么:
mysqli_set_charset($con, "utf8");
连接到DB之后。在实现希腊字符时,我遇到了同样的问题。像mysql这样的解决方案&
query(“设置名称'utf8'”);
mysql_查询(“设置字符集‘utf8’”)代码>对我不起作用。在谷歌搜索之后,我发现数据库排序规则的字符集应该是希腊语\u general\u ci
以及存储数据的字段,如categoryname等。这解决了我的问题。你不必删除表或任何东西。
使用MySQL Workbench并转到每个表。将排序规则更改为utf8-默认排序规则或utf8-常规ci。
然后对Varchar类型的每一列执行相同的操作-它位于窗口底部。db、db连接、网页的字符编码是什么?简言之,它们应该是相同的lutf8_general_ci是字符编码read:但这是我所指的三件事的编码吗?这回答了你的问题吗?漂亮的马里奥。就这么简单。如果您使用的是mysqli,那么更改编码实际上是另一种方式。