首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >葡萄牙语的PHP + MySQL编码问题(PT-Br)

问葡萄牙语的PHP + MySQL编码问题(PT-Br)
EN

Stack Overflow用户
提问于 2010-07-18 05:47:32
回答 5查看 8.7K关注 0票数 1

我正在用巴西葡萄牙语开发一个网站,我面临着一些非常烦人的编码问题。

应该这样写的单词:óbito就是这样写的:�bito

我注意到,虽然文本仍然在数据库中,但它们是好的。但是当我在PHP中使用echo时,编码问题就出现了。

我已经做过但没有帮助的事情列表:

1-设置要保存为UTF-8的PHP文件

2-我正在使用这个元标记<meta http-equiv="content-type" content="text/html; charset=utf-8" />

3-我使用了这个SQL查询:

代码语言:javascript
复制
CREATE DATABASE db_name
    CHARACTER SET utf8
    DEFAULT CHARACTER SET utf8
    COLLATE utf8_general_ci
    DEFAULT COLLATE utf8_general_ci
    ;

ALTER DATABASE db_name
    CHARACTER SET utf8
    DEFAULT CHARACTER SET utf8
    COLLATE utf8_general_ci
    DEFAULT COLLATE utf8_general_ci
    ;

ALTER TABLE tbl_name
    DEFAULT CHARACTER SET utf8
    COLLATE utf8_general_ci
    ;
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-07-18 07:18:25

您可以使用此函数更改字符集:

代码语言:javascript
复制
$q = mysql_set_charset('utf8');
var_dump($q);

(如果函数返回true,则表示已成功)。这应该可以解决您的连接问题。

对于旧版本的PHP,您可以使用以下命令:

代码语言:javascript
复制
<?php
 if (function_exists('mysql_set_charset') === false) {
     /**
      * Sets the client character set.
      *
      * Note: This function requires MySQL 5.0.7 or later.
      *
      * @see http://www.php.net/mysql-set-charset
      * @param string $charset A valid character set name
      * @param resource $link_identifier The MySQL connection
      * @return TRUE on success or FALSE on failure
      */
     function mysql_set_charset($charset, $link_identifier = null)
     {
         if ($link_identifier == null) {
             return mysql_query('SET NAMES "'.$charset.'"');
         } else {
             return mysql_query('SET NAMES "'.$charset.'"', $link_identifier);
         }
     }
 }
 ?>

看起来PHP默认使用latin1,但是我找不到改变默认设置的方法。所以我猜你每次开始一个新的连接时都必须使用mysql_set_charset()。

Boa排序。

票数 4
EN

Stack Overflow用户

发布于 2012-09-20 17:56:47

我的问题是这样解决的:

代码语言:javascript
复制
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

在页眉中,除了重新创建表和将数据库排序规则更改为utf-8编码之外。

票数 1
EN

Stack Overflow用户

发布于 2012-11-05 14:43:30

对葡萄牙语使用此命令:

代码语言:javascript
复制
<meta http-equiv="Content-Type" content="text/html; charset=pt-BR" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3273408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档