拼音音标记符号和MySQL

时间:2011-05-28 12:19:14

标签: mysql special-characters diacritics cjk

我正在创建一个存储带有相关pīnyīn发音的中文字符的MySQL数据库。我已经设置了所有工作在UTF-8字符集中,所以我对我正在使用的大多数符号都没有麻烦。除了奇怪的是,某些带有音标的拉丁字符,只有当我用$ _POST将它们写入数据库时​​才使用PHP。

这些是:所有具有强烈重音的人物(á,é,í,ó,ú),除了ǘ(?!);除了ǜ之外,还有所有带有重音符号的字符(à,èìòù)。当它们被输入到表单中,并且该表单被提交给数据库时,这些字符就会被切断,就像它们从未存在过一样。例如,cháng提交 chng 。任何其他角色(有一个caron,如ǎ,或者一个macron,如ā)写得很好,实际的汉字也是如此。

同样,我在任何地方都使用UTF-8,到目前为止这种问题只有在从表单提交数据时才会遇到。之前,我运行了一个脚本手动将包含这些字符的数组插入到数据库中,一切都很顺利。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我想你可以用编号格式发拼音 例如chángascha2ng
并通过一些映射方法处理php脚本中的帖子信息。

这是一种处理它的方法  Convert numbered to accentuated Pinyin?
希望它能帮到你。

答案 1 :(得分:1)

我找到了解决方案!

之前:

SELECT 'liàng' = 'liǎng';

更改为:

SELECT CONVERT('liàng' USING BINARY)= CONVERT('liǎng' USING BINARY) as equal;