分全给你!只要告诉我!PHP+Flash+MySQL如何实现让Flash显示中文???

zigz 2003-05-31 09:19:29
看看这个留言板,使用PHP+MySQL+FlashMX制作,可是只能输入英文,和显示英文。不能显示中文是怎么回事??
!!!!!!

http://www.up2e.com/board/board.php

大虾,谁知道分数全给他!
...全文
62 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
A_sr 2003-06-02
  • 打赏
  • 举报
回复
另你输入不了中文,应是flash在做的时候,有问题,不是php的原因,输出可以用我前面说的方法解决吧~
A_sr 2003-06-02
  • 打赏
  • 举报
回复
在传入给flash数据据时要把数据编码

我用了urlencode()

你可以看看我以前做的这个

http://www.xytown.net/flash/bbs.html
flashbug 2003-06-02
  • 打赏
  • 举报
回复
没办法输入中文,我想是FLASH的问题吧,和程序没什么关系
volca 2003-06-01
  • 打赏
  • 举报
回复
那个输入框估计已经设置为只能输入英文了,你要修改它的源文件去掉这个限制,字体最好是改成宋体12,这样就可以正确输入中文了。
最好在第一帧加上:
system.useCodepage = true;

这样中文也可以正确显示了。

上面 lsaturn(土星) 的回答我打包票解决不了问题:)
allkill 2003-06-01
  • 打赏
  • 举报
回复
有那个gb2312.txt对应表文件吗?我一直都没有找到!
lsaturn 2003-06-01
  • 打赏
  • 举报
回复
GB2312->UTF-8 转换函数

发表于:中国PHP联盟 www.phpx.com 作者/来源:sadly/www.phpx.com 人气:16012


以下是一段gb2312 -> UTF-8 的函数,西西,我抄了
unicode -> UTF-8 的算法,所以实际比GB2312->unicode
没多多少东西,请大家注意调用gb2utf8()时不能中英文混用

程序需要的GB2312.txt文件

gb2utf8.php
<?

//Program writen by sadly www.phpx.com

function gb2utf8($gb)
{
if(!trim($gb))
return $gb;
$filename="gb2312.txt";
$tmp=file($filename);
$codetable=array();
while(list($key,$value)=each($tmp))
$codetable[hexdec(substr($value,0,6))]=substr($value,7,6);

$utf8="";
while($gb)
{
if (ord(substr($gb,0,1))>127)
{
$this=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb));
$utf8.=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));
}
else
{
$gb=substr($gb,1,strlen($gb));
$utf8.=u2utf8(substr($gb,0,1));
}
}

$ret="";
for($i=0;$i<strlen($utf8);$i+=3)
$ret.=chr(substr($utf8,$i,3));

return $ret;
}

function u2utf8($c)
{
for($i=0;$i<count($c);$i++)
$str="";
if ($c < 0x80) {
$str.=$c;
}
else if ($c < 0x800) {
$str.=(0xC0 | $c>>6);
$str.=(0x80 | $c & 0x3F);
}
else if ($c < 0x10000) {
$str.=(0xE0 | $c>>12);
$str.=(0x80 | $c>>6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
else if ($c < 0x200000) {
$str.=(0xF0 | $c>>18);
$str.=(0x80 | $c>>12 & 0x3F);
$str.=(0x80 | $c>>6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
return $str;
}
?>



调用举例:通过GD输出 "中国" 两个汉字
example.php

<?
//Header("Content-type: image/gif");
$im = imagecreate(400,300);
$bkg = ImageColorAllocate($im, 0,0,0);
$clr = ImageColorAllocate($im, 255,255,255);
$fnt = "d:/winnt/fonts/simhei.ttf";
include("gb2utf8.php");
$str = gb2utf8("中国");
ImageTTFText($im, 20, 0, 10, 20, $clr, $fnt, $str);
ImageGif($im);
ImageDestroy($im);
?>

php向flash用echo传送的数值必须是utf-8编码的
lsaturn 2003-06-01
  • 打赏
  • 举报
回复
<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
utf8_encode
将 ISO-8859-1 码转成 UTF-8 码。

语法: string utf8_decode(string data);

传回值: 字串

函式种类: 资料处理




内容说明


本函式用来将 ISO-8859-1 内码转成 UTF-8 内码。参数 data 为待转换的字串。

utf8_decode
将 UTF-8 码转成 ISO-8859-1 码。

语法: string utf8_decode(string data);

传回值: 字串

函式种类: 资料处理




内容说明


本函式用来将 UTF-8 内码转成 ISO-8859-1 内码。参数 data 为待转换的字串。

lsaturn 2003-06-01
  • 打赏
  • 举报
回复
你只要设置编码为utf-8就可以了

21,886

社区成员

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

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