gbk,utf8,左右为难_PHP教程
程序员文章站
2022-05-02 22:35:41
...
看《O’Reilly Upgrading to php(做为现在的主流开发语言) 5》的时候,心血来潮,把MySQL(和PHP搭配之最佳组合)升级到了4.1.11,由于机器上没有什么正式系统,也就没有注意到它字符集的变化。后来就把正式应用的系统也给升级了,升级之后其它系统都没问题,唯独一个MANTIS有了麻烦,打开页面都成了乱码,幸亏有备份可以恢复,在恢复的过程中就发现了MySQL(和PHP搭配之最佳组合)升级带来的字符集的问题--如果MySQL(和PHP搭配之最佳组合)用UTF8字符集,MANTIS数据导入之后,页面显示乱码,无奈只得把MySQL(和PHP搭配之最佳组合)调为GBK字符集。
其实我还是愿意使用UTF8字符集的,因为没有不兼容的麻烦,作为长久保留的数据,日后转换、整理起来比较省事;在与外部进行数据交换的时候,也不存在编码转换的问题。可是我始终不明白,在使用php(做为现在的主流开发语言)连接MySQL(和PHP搭配之最佳组合)接收用户输入数据,并存入数据库的时候,如果数据库编码是UTF8,是否要把SQL数据也转换为UTF8?抽空弄个小程序试试,如果真是这样那可就麻烦大了,不过我在DOS下用命令行操作UTF8字符集的MySQL(和PHP搭配之最佳组合)服务器是没法输入汉字的。
以前使用SYBASE的时候曾经被字符集的问题困扰了很久,因为SYBASE如果字符集用错了,某些汉字根本就无法输入,比如大写的零“○”,所以字符集从iso_1换到cp850,又从cp850换到cp936,中间舍弃了很多历史数据,MySQL(和PHP搭配之最佳组合)千万不要让我重蹈覆辙。
其实我还是愿意使用UTF8字符集的,因为没有不兼容的麻烦,作为长久保留的数据,日后转换、整理起来比较省事;在与外部进行数据交换的时候,也不存在编码转换的问题。可是我始终不明白,在使用php(做为现在的主流开发语言)连接MySQL(和PHP搭配之最佳组合)接收用户输入数据,并存入数据库的时候,如果数据库编码是UTF8,是否要把SQL数据也转换为UTF8?抽空弄个小程序试试,如果真是这样那可就麻烦大了,不过我在DOS下用命令行操作UTF8字符集的MySQL(和PHP搭配之最佳组合)服务器是没法输入汉字的。
以前使用SYBASE的时候曾经被字符集的问题困扰了很久,因为SYBASE如果字符集用错了,某些汉字根本就无法输入,比如大写的零“○”,所以字符集从iso_1换到cp850,又从cp850换到cp936,中间舍弃了很多历史数据,MySQL(和PHP搭配之最佳组合)千万不要让我重蹈覆辙。
上一篇: php教程:PHP中9大缓存技术总结
下一篇: sql映射文件的实例教程
推荐阅读
-
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
-
PHP通过iconv将字符串从GBK转换为UTF8字符集
-
php截取字符串之截取utf8或gbk编码的中英文字符串示例
-
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
-
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
-
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)_PHP教程
-
PHP教程:网页UTF8编码开发中空白的问题_PHP教程
-
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]_PHP教程
-
php如何实现gbk和utf8的互转且无损?
-
php下检测字符串是否是utf8编码的代码_PHP教程