mysql utf8 result

本文介绍了一个使用PHP进行数据库连接的例子,并展示了如何设置正确的UTF-8编码以确保客户端能够获取到正确的编码结果。此外,还提到了类的设计应当继承自Memcached_DataObject。

require_once 'DB.php';
$db_url = "mysqli://root:@localhost/db";

$dbh = DB::connect($db_url);
$dbh->query("set names utf8");


then the client can get right utf8 encoded results

for statusnet , your classes should extends Memcached_DataObject
### 配置 Ubuntu 上的 MySQL 以支持 UTF-8 编码 为了使 MySQL 数据库在 Ubuntu 系统上完全支持 UTF-8 编码,需要对多个配置文件进行调整并确保客户端和服务端都使用相同的字符集。以下是具体的实现方式: #### 修改 MySQL 的配置文件 在 Ubuntu 中,MySQL 的主要配置文件通常位于 `/etc/mysql/mysql.conf.d/mysqld.cnf` 或者 `/etc/mysql/conf.d/mysql.cnf` 文件中。可以通过编辑这些文件来更改默认字符集。 1. **服务端字符集设置** 找到 `mysqld.cnf` 文件的位置,并在其 `[mysqld]` 节点下添加或修改以下参数: ```ini [mysqld] character-set-server=utf8 collation-server=utf8_general_ci ``` 这些参数的作用分别是设定服务器级别的字符集为 UTF-8 和对应的排序规则[^3]。 2. **客户端字符集设置** 同样,在同一个配置文件中的 `[client]` 节点下也需要指定默认字符集: ```ini [client] default-character-set=utf8 ``` 此项用于确保客户端连接时使用的字符集也是 UTF-8[^1]。 3. **保存并重启 MySQL 服务** 完成上述修改之后,需重新启动 MySQL 服务以便应用新的配置: ```bash sudo systemctl restart mysql ``` #### 验证配置是否生效 完成以上步骤后,可以登录到 MySQL 命令行工具并通过执行如下 SQL 查询验证当前环境下的字符集状态: ```sql SHOW VARIABLES LIKE 'character_set%'; SHOW VARIABLES LIKE 'collation%'; ``` 如果一切正常,则应该看到所有相关的变量均指向 `utf8` 或其变体形式(如 `utf8mb4`),这表明已成功切换至所需编码模式[^4]。 另外需要注意的是,尽管这里讨论了基于标准 UTF-8 (`utf8`) 的解决方案,但在某些场景下可能还需要考虑更广泛的 Unicode 支持——即采用 `utf8mb4` 来替代传统的 `utf8` 设置,因为后者实际上仅限于三字节范围内的字符表示能力,无法覆盖全部合法 Unicode 字符集合[^2]。 ```python import pymysql connection = pymysql.connect( host='localhost', user='your_username', password='your_password', database='test_db', charset='utf8' ) try: with connection.cursor() as cursor: sql_query = "SELECT @@character_set_server, @@collation_server;" cursor.execute(sql_query) result = cursor.fetchone() finally: connection.close() print(result) ``` 此 Python 示例展示了如何通过编程接口确认远程数据库实例所采用的具体字符集定义情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值