【问题标题】:adding hebrew value to sql using PDO使用 PDO 将希伯来语值添加到 sql
【发布时间】:2015-07-22 14:44:02
【问题描述】:

我正在尝试使用 php 的 PDO 类将希伯来语值添加到数据库中。

在终于成功之后 (通过使用:array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"),我发现COLLATE HEBREW_CI_AS 被添加到我的值中。

有什么办法可以防止这种添加吗?

谢谢你,对不起我的英语不好。

【问题讨论】:

  • set names 为客户端设置字符集连接,但对实际表/字段的字符集没有任何影响。
  • 将您的列设置为 UTF8......您也可以将您的表设置为 UTF8,但如果您这样做,您现有的列不会改变,因此更新所有需要为 UTF8 的现有列

标签: php sql database pdo


【解决方案1】:

PHP: The Right Way 是一个很好的信息来源。

基本上检查你的 PDO 连接是否指定了 DSN 中的字符集:

new PDO(
    'mysql:host=your-hostname;dbname=your-db;charset=utf8',
    'your-username',
    'your-password',
    array(
        # ... PDO Connection Options
    )
);

确保您的数据库表设置为使用 utf8-collat​​ion,通过 phpmyadmin 或使用 mysql-命令行实用程序和以下查询:

ALTER TABLE table_name COLLATE utf8;

此外,您可能需要考虑使用书中建议的 utf8mb4。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    相关资源
    最近更新 更多