草庐IT

utf8mb_unicode_ci

全部标签

PHP 与 UTF8 输出到 PHPExcel?

我在使用PHPExcel将数据从utf8mysql数据库导出到Excel工作表并保留中文字符时遇到问题。我的mysql数据库是utf8并且里面有很多汉字,我正在将该数据导出到一个多表xls文件(excel5)并且每次导出汉字都会变成“?”。我试过utf8_encode()但它对我不起作用。我还尝试将输出更改为excel2007,认为这将是excel5编写器问题。有没有办法让汉字正确导出?我是否必须将整个php文件制作为utf8?如果是这样,我会怎么做?这是我遇到问题的部分:$res2=mysql_query("SHOWCOLUMNSFROM".$sheetnametemp);while

php - 散列密码并将其和盐保存到 mysql pdo utf8 编码

我有这个问题,如果不合适,请在评论中告诉我,我会放弃。事情是这样的:我用这段代码生成盐:$salt=mcrypt_create_iv(32);密码是这样的:$password=hash('sha256',$_POST['password'].$salt);并将$salt和$password保存到MYSQL数据库中,目前没有问题,如果我这样连接:$pdo=newPDO('mysql:host=hostname;dbname=defaultDbName','username','password');但如果我以其他方式连接:$pdo=newPDO('mysql:host=hostname;

php - 如何从 PHP 中的 mysql 数据库中获取 unicode 字符

我正在开发一个以本地语言提供信息的本地网站。在我的MySQL数据库中,有一个名为pageContent的表,它有一个名为“text”的列。“文本”列类型是文本,排序规则是utf8_sinhala_ci在MySQL中它正常显示字体:但是当我将它放入PHP页面并回显该值时,它会显示像????????????这样的问号。但是如果我硬编码一些东西并回显,那么它也会在PHP页面中正常显示。当我从数据库中获取值时,我感觉出了问题。但是我找不到错误。我也尝试了以下代码。mysql_query("setcollation_connection='utf8_sinhala_ci'");$result=m

php - 我数据库中的 "UTF8"数据真的编码正确吗?

我有一个带有MYSQL数据库的PHP应用程序,它“应该”包含UTF8编码的数据。关于unicode字符,我的应用程序似乎从头到尾都能正常工作。如果有人将“Strömgren”提交到我的数据库(通过HTML表单),当我取回数据时我会看到“Strömgren”,等等。我的数据库表都是UTF8,我的html页面和表单都是charset=utf-8。我最近注意到,在我的应用程序的一部分中,我的unicode字符似乎是双重编码的。当我显示应该是Strömgren时,我看到了Strömgren--Str\xc3\xb6mgrenvsStr\xc3\x83\xc2\xb6mgren。如果我对错误的字

php - SQLSTATE[42000] : Syntax error or access violation: 1064 default character set utf8 collate utf8_unicode_ci' at line 1

这个问题在这里已经有了答案:Syntaxerrororaccessviolationerrorwhilerunning"phpartisanmigrate"formigrationfilecontainingprimary&foreignkeys(2个答案)关闭去年。我正在尝试将此代码迁移到mysql数据库中,但不断收到此错误消息。SQLSTATE[42000]:Syntaxerrororaccessviolation:1064YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserververs

MySQL:将排序规则从 utf8_bin 更改为 utf8_unicode_ce

给定一个完整的表,我如何将排序规则从utf8_bin更改为utf8_unicode_ce?由于“重复输入错误”,正常的“更改”查询不起作用。例如有两个条目DavidHussa和DavidHußa我知道他们是一样的。有没有一种优雅的方式告诉MySQL“合并”这些条目?我应该提一下,条目的id在其他表中用作引用,因此MySQL也必须遵守这一点。或者我是否必须以冗长而烦人的方式执行此操作:意味着手动合并每个重复项,然后更改排序规则?表格如下所示:delimiter$$CREATETABLE`authors`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`var

C# 与 MySql 和 Unicode 字符

我的问题是在使用C#和MySQL数据库通过发送参数来保存一些记录时。虽然我已经将字符集设置为Utf-8并且我可以正确地看到unicode字符,但我在尝试插入unicode字符时遇到的问题是它只保存了一半的字符串。真正奇怪的是,这种情况只发生在unicode字符串(如希腊语单词)上,并且仅在我发送带参数的查询时发生。即。如果我在C#中看到的查询是:stringquery="INSERTINTOtablenameVALUES(NULL,@somestring)";然后我将@somestring参数值设置为“TESTING”。这会工作得很好。如果我尝试将值设置为unicode字符串“ΤΕΣΤ

mysql - utf8 mysql字符串音译

mysql中有没有类似php的iconv的函数可以将带重音的utf8字符转换为ascii字符串?我想要这样的SQL查询:SELECTsome_func("LĄBĄSVĄKĄRŪŠ")并返回labasvakarus 最佳答案 我找到了thisMySQLtransliteration功能,这可能是您正在寻找的。您可以在theassociatedblogpost阅读更多相关信息来自作者。建议:我的建议是不要相信MySQL和PHPiconv()音译会产生相同的结果,因为它们都是猜测。如果您只坚持使用MySQL或PHP方面,那将是最好的。

将数据传递到2字节Unicode MSSQL数据库

我有一个基于PHP和PostgreSQL(基于Laravel)的Web应用程序。Web应用PostgreSQL数据库使用UTF-8编码。在某一时刻,我必须将数据传递给另一个服务器上托管的外部MSSQLServer数据库。但是,它起作用的是,MSSQLServer数据库中的文本数据部分混乱和不可读,尤其是在涉及特殊字符的情况下。MSSQLServerSysadmin告诉我,它使用2字节Unicode编码。我想我应该相应转换。问题-在将数据写入MSSQLServer数据库之前,如何正确使用此编码和编码数据?看答案在玩了各种编码转换之后,我终于找到了一个对我有用的方法:iconv('UTF-8','

mysql - utf8_bin 与 utf8_general_ci。哪种排序规则将在 mysql 表中提供更快的性能?

我使用“id”字段-char(22)作为MySQL表的主键。此字段仅用于在向表中添加新用户时过滤唯一ID。对我来说,使用utf8_bin还是utf8_general_ci排序并不重要,因为字母大小写无关紧要,我只使用英文字母作为id。唯一的问题是:哪种排序规则将提供更快的性能?我的表最常见的查询是:LOADDATAINFILE...IGNOREINTOTABLEmytable(id)orINSERTIGNOREINTOmytable(id)...andSELECTCOUNT(id)FROMmytable现在,由于表不大,我看不出任何性能差异,但是当我的表中的行数超过200万时会发生什么