2018-11-15 17:23:49 2338次浏览 2条回答 0 悬赏 40 金钱

现在yii2 项目 需要链接一个sqlserver数据库, 这个数据库我不能修改, 它的字段名有的是汉字, 我现在需要取过来存到自己的mysql, 但是 字段名显示的都是乱码, 这个有什么办法解决么?

补充于 2018-11-15 17:24

就是取出来的数据都是乱码 , 这样没法存到 我的mysql里面

补充于 2018-11-15 17:24

就是取出来的数据都是乱码 , 这样没法存到 我的mysql里面

补充于 2018-11-16 09:10

TIM截图20181116090958.png
TIM截图20181116091014.png

补充于 2018-11-16 09:12

上图是从sqlserver 里面取的 打印出来的; 下图是实际应该的样子

补充于 2018-11-16 09:36

打印 结果 前 加 header("Content-Type: text/html;charset=gb2312"); 这个 能显示汉字, 但不是要打印, 是要在逻辑里处理这个取出来的结果, 所以乱码的话就没法用了

补充于 2018-11-16 15:49

TIM截图20181116154730.png
解决方法: 把字段名转码 重组数组

最佳答案

  • casablanca 发布于 2018-11-16 09:29 举报

    as 试了吗

    6 条回复
    回复于 2018-11-16 09:32 回复

    啥是as~

    回复于 2018-11-16 09:35 回复

    字段别名 select 循环系统 as *** from xx

    回复于 2018-11-16 09:42 回复

    也是个办法, 不过 这几个表有几百个 字段 全是汉字命名的

    回复于 2018-11-16 09:44 回复

    还有个问题

    \Yii::$app->db2->createCommand('SELECT 循环系统 as 循环系统 FROM dbo.DATA_tnbfxjc')->queryAll(); 
    

    这样 只能as成 字母 比如as xhxt ;as 成汉字 还是乱码。

    $ ./yii test/test
     :
    Array
    (
        [0] => Array
            (
                [ѭ▒▒ϵͳ] => 426
            )
    
    )
    
    回复于 2018-11-16 10:42 回复

    牛皮,是的呢

    回复于 2018-11-16 11:33 回复

    或许你可以定义一个函数进行转换

  • 回答于 2018-11-15 21:22 举报

    你能发个图发点代码吗?看你的需求像是把数据导入mysql 用php?用dbms不是更合适吗

    1 条回复
    回复于 2018-11-16 09:13 回复

    不是导入 是取出来 要用, 键都是乱码的话 没法用

您需要登录后才可以回答。登录 | 立即注册
沃斯尼达耶
总监

沃斯尼达耶 秦皇岛

注册时间:2016-11-02
最后登录:2022-11-03
在线时长:34小时55分
  • 粉丝8
  • 金钱2060
  • 威望0
  • 积分2400

热门问题