草庐IT

utf8_unicode_cs

全部标签

php - 将 latin1 转换为 UTF8

我有一个数据库-包含文章表。我想将标题和内容字段转换为utf8现在-所有数据看起来像这样:我希望它成为普通的希伯来语字符。谢谢 最佳答案 以下MySQL函数将在双重编码后返回正确的utf8字符串:CONVERT(CAST(CONVERT(fieldUSINGlatin1)ASBINARY)USINGutf8)它可以与UPDATE语句一起使用来更正字段:UPDATEtablenameSETfield=CONVERT(CAST(CONVERT(fieldUSINGlatin1)ASBINARY)USINGutf8);

java - 没有 "?characterEncoding=UTF-8"的不正确字符串值

我想在我的数据库的一个字段中插入一些文本,但我遇到了表情符号问题。如果我不将连接url设置为jdbc:mysql://localhost:3306/MyDatabase?characterEncoding=UTF-8那么服务器会很好地存储表情符号,但也会发生这种情况将非拉丁字符存储为问号。现在,如果我这样设置我的连接url,那么服务器将不喜欢表情符号并输出错误:不正确的字符串值:“\xF0\x9F\x98\xB1\xF0\x9F...”对于第1行的“fullTweet”列我已经在我的本地服务器上完成了utf8兼容性的所有必要步骤:我将行character-set-server=utf8

mySQL:索引表上的 utf8 字符集和重复键错误

当使用以utf8编码的varchar字段作为主键时,我曾预料到mySQL会出现奇怪的行为。对于在我的开发环境中不相等的字符串,它因重复键错误而失败。一个简短的例子:SETNAMES'utf8';CREATETABLE`test`(`id`varchar(5)NOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;INSERTINTO`test`(`id`)VALUES('das'),('daß');失败并出现错误:键“PRIMARY”的重复条目“daß”。我在ubuntu13.10上使用默认配置运行mySQL5.5.35。在另

php - Codeigniter 不接受 "utf8mb4"作为默认字符集

你好,我正在使用Codeigniter开发我的网络应用程序。服务器上的PHP版本是5.6.22,数据库的Mysql版本是5.6.27。在codeigniter的database.php中,当我将字符集从“utf8”更改为“utf8mb4”时,我收到以下消息。(附图片)无法设置客户端连接字符集:utf8mb4更新我可以在具有相同php版本和相同mysql版本的另一台服务器上运行codeigniter应用程序。所以它一定是与httpd.conf或php.ini有关的东西,也许吧? 最佳答案 在database.phpSetchar_se

php - 哪种数据库和语言更擅长处理 Unicode?

如果我的应用程序要使用多种语言(包括中文、日文等),我应该使用哪个数据库?换句话说,在处理unicode等方面,MySQL比Postgres更好还是更差?(这是我的托管公司仅有的两个数据库)此外,哪种语言更适合处理unicode?PHP还是Ruby/Rails? 最佳答案 Mysql不完全支持Unicode(例如:BMP之外的汉字)(see)。它使用残缺的'utf8'编码(不是真正的UTF-8)。Postgresql似乎完全支持UTF-8encoding(因此,对于所有Unicode字符)。

mysql - 将 utf8_general_ci 表和字段转换为 utf8_unicode_ci

几年前我在设计我的应用程序数据库时犯了一个错误,我的表和表字段的排序规则设置是混合的。其中一些是utf8_general_ci,一些是utf8_unicode_ci。这会导致在连接具有不同排序规则的表时出现问题。现在,我打算更改排序规则设置并使它们相同:utf8_unicode_ci。我将在所有表上运行这两个SQL查询。ALTERTABLE`table1`DEFAULTCHARACTERSETutf8COLLATEutf8_unicode_ci;ALTERTABLE`table1`CHANGE`Action``Action`VARCHAR(250)CHARACTERSETutf8COL

mysql - HTTP header 中的 unicode 用户代理是否合法?

我正在维护的一个应用程序使用“latin1”字符集将从Web日志中提取的用户代理加载到MySQL表列中。有时,它无法加载如下所示的用户代理:Mozilla/5.0(Iâ?;CPUiPhoneOS5_0_1likeMacOSX)AppleWebKit/534.46(KHTML^ClikeGecko)版本我怀疑它在Iâ?上窒息。我正在努力弄清楚是否应该支持它,或者它是否是由上游日志系统引入的损坏。这是HTTPheader中的合法用户代理吗? 最佳答案 RFC2616(HTTP1.1)says消息头内容必须是“由*TEXT或标记、分隔符和

mysql - Rails、MySQL、Unicode 数据和 latin1 表——从这里何去何从?

我不是100%确定细节,所以我希望有人能纠正我,但我会继续推进我认为正在发生的事情......当我第一次建立我的数据库时,我想也没想就使用了系统默认的字符编码,它是latin1。我什至从未想过i18n/l10n。我只是没想到。我只是接受默认值并继续使用它。无论如何,我一直专门为Rails应用程序使用数据库,现在我们有几GB的数据、100,000行和许多国际用户。我注意到我们的许多外国用户正在插入似乎是Unicode/non-latin1的数据。这是一个例子:WhataboutcrazyUnicodestuff?☢☠☭数据库.yml这是我们的database.yml文件。developm

mysql - 尽管排序规则为utf8mb4_unicode_ci,但SQL不会区分u和ü

在表x中,有一列的值为u和ü。SELECT*FROMxWHEREcolumn='u'。这返回u和ü,尽管我只是在寻找u。该表的排序规则为utf8mb4_unicode_ci。每当我读到类似问题时,每个人都建议使用此排序规则,因为他们说utf8mb4确实涵盖了所有字符。使用此排序规则,应解决所有字符集和排序规则问题。我可以插入ü,è,é,à,Chinesecharacters等。当我制作SELECT*时,它们也会被正确检索和显示。仅当我比较上述示例中的两个字符串(SELECTWHERE)或在列上使用UNIQUEINDEX时,才会出现此问题。当我使用UNIQUEINDEX时,如果我已经在该

mysql - 如何将 mysql latin1 转换为 utf8

我继承了一个需要进一步开发的网络系统。该系统似乎是由阅读了两章PHP教程并认为他可以编码的人创建的...所以...网页本身是UTF8格式,并显示和输入其中的所有内容。数据库表已使用UTF8字符集创建。但是,在配置中,有“SETNAMESLATIN1”。换句话说,UTF8编码的字符串使用强制latin1编码填充到数据库中。有没有办法将这个困惑转换为实际存储在utf8中并摆脱latin1?我试过了this,但由于数据库表设置为utf8,所以这不起作用。也试过thisone没有成功。我也许可以通过使用latin1编码读取PHP中的所有表然后将它们写回utf8中的新数据库来做到这一点,但我想尽