mysql 里实现查询汉字的拼音首字母

sun522198549 2012-08-23 08:29:18
哪位大侠 给我个 mysql 里实现查询汉字的拼音首字母 能用的
...全文
1046 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun522198549 2012-09-04
  • 打赏
  • 举报
回复
已经解决了
xuzuning 2012-08-31
  • 打赏
  • 举报
回复
用另一表的汉字关联这个表的汉字
franzhong 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]

引用 17 楼 的回复:

mysql_query('set names gbk');

这里是#7的代码,将其中的
echo chr($h) . chr($l) . $s{$i};
改为
$ch = chr($h) . chr($l);
$sql = 'insert into 表名 (HZ, ximu) values ('$ch','{$s{$i}}')";
mysql_q……
[/Quote]
你搞太乱了,这明显乱码了,表是utf-8,你就set names utf8呗,往数据库里存要以数据库为准
sun522198549 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]

mysql_query('set names gbk');

这里是#7的代码,将其中的
echo chr($h) . chr($l) . $s{$i};
改为
$ch = chr($h) . chr($l);
$sql = 'insert into 表名 (HZ, ximu) values ('$ch','{$s{$i}}')";
mysql_query($sql);
[/Quote]

就是按照你这种方案走的

效果 还是一样
有图有真相

1.建表

是UTF8的
2.插数据

3.查看数据


还是这样

UT8表 里能插GBK的数据?
sun522198549 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 的回复:]

那不就结了
[/Quote]
现在这个表都把我搞糊涂了
到现在 我都没 搞明白 假如另一个表 有name但是 根据 拼音到底怎么查?
xuzuning 2012-08-27
  • 打赏
  • 举报
回复
那不就结了
sun522198549 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 的回复:]

set names utf8
试一下
[/Quote]

UTF8是可以的
xuzuning 2012-08-27
  • 打赏
  • 举报
回复
set names utf8
试一下
sun522198549 2012-08-27
  • 打赏
  • 举报
回复
没有设置编码
sun522198549 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 的回复:]

你生成了那些 SQL 指令是保存在文件里的吗?
保存时的编码是什么? utf-8 的吧?
[/Quote]
我是PHP生成的


<?php
$fn = 'pyi.txt';
if(! file_exists($fn)) {
$url = 'http://blog.csdn.net/xuzuning/article/details/5611291';
$s = file_get_contents($url);
preg_match('#CODE<br />(.+)<br />CODE#is', $s, $r);
$s = str_replace('&nb'.'sp;', ' ', $r[1]);
file_put_contents($fn, $s);
}
$s = file_get_contents($fn);
for($i=0; $i<strlen($s); $i++) {
if($s{$i} == ' ') continue;
$h = floor($i / 0xbf) + 0x81;
$l = ($i % 0xbf) + 0x40;
// echo chr($h) . chr($l) . $s{$i};
$HZ = chr($h) . chr($l);
$zimu = $s{$i};
echo "INSERT INTO `piying5` (`HZ`, `zimu`) VALUES ('$HZ', '$zimu');<br/>";
}

?>

这样生成的 然后复制到那里执行的
xuzuning 2012-08-27
  • 打赏
  • 举报
回复
你生成了那些 SQL 指令是保存在文件里的吗?
保存时的编码是什么? utf-8 的吧?
sun522198549 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 的回复:]

#18中你的sql语句都生成了,怎么还 set names gbk ???
[/Quote]
我的表是UTF8的么
你的汉字 不是 GBK的么
我当然要转换成GBK了
xuzuning 2012-08-27
  • 打赏
  • 举报
回复
#18中你的sql语句都生成了,怎么还 set names gbk ???

xuzuning 2012-08-26
  • 打赏
  • 举报
回复
mysql_query('set names gbk');

这里是#7的代码,将其中的
echo chr($h) . chr($l) . $s{$i};
改为
$ch = chr($h) . chr($l);
$sql = 'insert into 表名 (HZ, ximu) values ('$ch','{$s{$i}}')";
mysql_query($sql);
sun522198549 2012-08-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

function getfirstchar($s0){
if($s0[0]=='I' || $s[0]=='i'){
return "I";
}elseif($s0[0]=='U' || $s[0]=='u'){
return 'U';
……
[/Quote]

SQL 语句给我看下行吗?
sun522198549 2012-08-25
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

引用 11 楼 的回复:

我插入这样是对的吗?

不对,从图片上看,你的 HZ字段都是“涓”
这显然是utf-8编码字符在gbk环境中的表现,无端端的弄什么“国际化”!自找麻烦,还浪费50%空间
[/Quote]

我是按照你给的方法 存入的
sun522198549 2012-08-24
  • 打赏
  • 举报
回复
求助 哇 还没解决
sun522198549 2012-08-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

你建立的表是 utf8 的
我生成的数据是 gbk 的
你只需在数据插入表之前执行一次SQL指令: set names gbk
剩下的事情 mysql 会替你完成
[/Quote]



我插入这样是对的吗?
xuzuning 2012-08-24
  • 打赏
  • 举报
回复
你建立的表是 utf8 的
我生成的数据是 gbk 的
你只需在数据插入表之前执行一次SQL指令: set names gbk
剩下的事情 mysql 会替你完成
sun522198549 2012-08-24
  • 打赏
  • 举报
回复
大神给句 查询的SQL给我看看
加载更多回复(10)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧