草庐IT

miniprogram-ci

全部标签

php - 使用 PHP 将 latin1_swedish_ci 转换为 utf8

我有一个数据库,其中包含♥•â—♥Dhaka♥•â—♥(应该是♥•●♥Dhaka♥•●♥)因为我在创建数据库时没有指定排序规则。现在我想修复它。我无法再次从最初获取数据的位置获取数据。所以我在想是否有可能在php脚本中获取数据并将其转换为正确的字符。我已将数据库和字段的排序规则更改为utf8_general_ci.. 最佳答案 排序规则与字符集不同。排序规则仅用于文本的排序和比较(这就是其中有一个语言术语的原因)。实际字符集可能不同。最常见的故障不在数据库中,而是在PHP和MySQL之间的连接中。连接的默认字

sql - MySQL - 非法混合排序规则 (utf8_general_ci,COERCIBLE) 和 (latin1_swedish_ci,IMPLICIT) 用于操作 'UNION'

如何一劳永逸地修复该错误?我只想能够在MySQL中进行联合。(我正在寻找一个捷径,比如让MySQL忽略该问题或采取最佳猜测的选项,而不是要更改100多个表的排序规则......至少现在不是) 最佳答案 不确定mySQL,但在MSSQL中,您可以更改查询中的排序规则,例如,如果您有2个具有不同排序规则的表,并且您想要加入它们,或者在您的情况下crateUNION,您可以这样做selectcolumn1fromtableWithProperCollationunionallselectcolumn1COLLATESQL_Latin1_G

php - mysql 在 utf8_general_ci 中区分大小写

我有一个mysql数据库,我在其中使用utf8_general_ci(不区分大小写),在我的表中,我有一些列,例如ID和区分大小写的数据(例如:“iSZ6fX”或“AscSc2”)要区分大写和小写,最好只在这些列上设置utf8_bin,如下所示:CREATETABLE`test`(`id`VARCHAR(32)CHARACTERSETutf8COLLATEutf8_binNOTNULL,`value1`VARCHAR(255)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL)ENGINE=MYISAMCHARACTERSETutf8COLLAT

mysql - 找不到文件 : './ci/users.frm' (errno: 13)

我在Ubuntu11.04上安装了LAMP,并从Windows复制项目。PHP目录(/ci/)到var/www/和MySQL项目目录(/ci/)到var/lib/mysql/我得到的错误全文:ADatabaseErrorOccurredErrorNumber:1017Can'tfindfile:'./ci/users.frm'(errno:13)SELECTCOUNT(*)AS`numrows`FROM(`users`)WHERE`email`='admin@localsite.com'我用谷歌搜索它的权限问题,但不知道下一步该怎么做。Logfrom/var/log/mysql/err

php - 不使用 Sudo 时如何在 Travis CI 上添加 MySQL 配置

我想弄清楚如何在TravisCI测试运行之前更改MySQL配置。我们正在使用“sudo:false”指令,我想使用容器……我不是最好的devops人。但即使我将sudo设置为true,我也无法在尝试向“/etc/mysql/my.cnf”添加行后重新启动MySQL。所以,-cat"some/directory/my.cnf"|sudotee-a/etc/mysql/my.cnf-sudo/etc/init.d/mysqlrestart给我:“开始:作业无法启动”,但我什至不想使用sudo。对于PHP配置,我可以这样做:-echo"apc.shm_size=256M">>~/.phpen

mysql - MySQL存储过程中操作 '='的排序规则(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT)的非法混合

我检查了数据库表,发现它在latin1_swedish_ci中,所以我将其更改为utf8_general_ci然后我将排序规则从latin1_swedish_ci更改到所有字段的utf8_general_ci。仍然给我同样的错误。Illegalmixofcollations(utf8_general_ci,IMPLICIT)and(utf8_unicode_ci,IMPLICIT)foroperation'='谢谢, 最佳答案 所以答案很简单。看来您错过了MKJ^^所述的更改,但更改表的实际语法如下所示。altertable`dbn

mysql - Rails 上的 UTF8 MySQL 问题 - utf8_general_ci 的编码问题

我有一个在MySQL5.0.32-Debian上运行的暂存Rails站点。在这个特定网站上,我所有的表格都使用utf8/utf8_general_ci编码。在那个数据库中,我有一些看起来像这样的数据:mysql>select*fromcurrency_typeslimit1,10;+------+-----------------+---------+|code|name|symbol|+------+-----------------+---------+|CAD|CanadianDollar|$||CNY|ChineseYuan|å…ƒ||EUR|Euro|€||GBP|Pou

mysql - "utf8_unicode_ci"和 "utf8_unicode_520_ci"有什么区别

我最近升级了WAMPServer,现在在phpMyAdmin中,我看到了排序规则utf8_unicode_ci和utf8_unicode_520_ci。我在土耳其应用程序中使用“utf8_unicode_ci”,但我想知道新的*_520排序规则有什么不同? 最佳答案 如CollationNames中所述:UnicodecollationnamesmayincludeaversionnumbertoindicatetheversionoftheUnicodeCollationAlgorithm(UCA)onwhichthecollat

mysql - COLLATION 'utf8_general_ci' 对 CHARACTER SET 'latin1' 无效

我正在尝试修复字符编码问题-之前我们为该列设置了排序规则utf8_general_ci导致问题,因为它不区分重音..我正在尝试查找数据库中可能受到影响的所有条目。setnamesutf8;select*fromtable1t1jointable2t2on(t1.pid=t2.pidandt1.id!=t2.id)collateutf8_general_ci;但是,这会产生错误:ERROR1253(42000):COLLATION'utf8_general_ci'isnotvalidforCHARACTERSET'latin1'现在使用DEFAULTCHARACTERSETutf8定义数

mysql - 如何将所有行的排序规则从 latin1_swedish_ci 更改为 utf8_unicode_ci?

在开发过程中,我无知地对数据库中的所有varchar行使用了默认的latin1_swedish_ci字符编码,并且我确定这是我一直遇到的字符编码问题的根源。除此之外,现在似乎大多数人都建议使用utf8_unicode_ci。我想将我数据库中所有行的字符编码从latin1_swedish_ci转换为utf8_unicode_ci,但我知道如何做的唯一方法是在phpMyAdmin中逐行更改它,这真的很耗时。是否有更快的方法,例如可以运行将所有varchar/text行的排序规则从latin1_swedish_ci更改为utf8_unicode_ci的查询? 最佳