作者eric77712 (心要让你听见)
看板PHP
标题Re: [请益] 许功盖这些字无法新增到资料库?
时间Tue Jan 9 12:54:59 2007
因为这些中文字的内码有 \ 这个符号,
一班MySQL是拒绝存取这个符号到资料库中,
印象中 ' 这个也不行,
不过我之前只有注意到 ' 不行,
没想到连 \ 也不行,
刚刚拿我写的留言板来开刀,
结果正如你所说的,
那些中文字中有包含 \ 内码的,
再写入十,资料库会发生错误而放弃写入,
我有一个解决的办法,
就是利用PHP的某个函式,
将MySQL拒绝的特定字元转换成全形的符号,
再送入资料库中,这样就可以闯关成功了,
但是由於现在碰到的问题本身来源就是一个双位元组字,
所以你可以考虑在送进资料库前,先把那些有特定字元的中文字,
转换成另外一个字,例如:许;诩。
这是我的想法,不知道有没有人有更好的解决办法。
那个函式用法如下:
$Temp=str_replace("许","诩",$Temp);
希望对你有帮助。
※ 引述《htk (我要降二军啦!!!!!!!!)》之铭言:
: 我写了很简单把网页的form输入的文字insert到MySQL资料库的程式
: 一般中文字都没问题
: 可是就是 许,佩,餐,功...这些字不行
: 请问一下应该怎麽解决呢?
: 我的MySQL版本是5.0.27
: phpMyAdmin 2.9.1.1
: MySQL 文字编码: UTF-8 Unicode (utf8)
: MySQL 连线校对: utf-8_bin
: 资料库的栏位的校对: latin1_swedish_ci
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.23.148.202
2F:→ chhuang:难不成你要把所有 5C 结尾的字自己做一张对应表吗?? @@ 01/09 13:09
3F:→ chhuang:如果使用者输入"诩"! DB 取出後你会输出"许"还是"诩"? 01/09 13:11