C#输出日文乱码

u013618777 2015-12-01 10:27:01
整个过程是这样的:我从txt文件读取文本,之前因为乱码了,我把StreamReader编码格式改成932(日文)就可以了,然后我存到数据库,最后读取的时候问题来了,通过断点发现,读取出来内容都是对的,但是显示到datagridview或者直接Console.write的时候就乱码了,而且并不是所有的日文都是乱码,只有一部分才是这样,非常费解,恳请各位大大帮帮我,急死了!
...全文
1126 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhimingcom 2015-12-03
  • 打赏
  • 举报
回复
显示方框,就是因为字体!!!!!!
Veary 2015-12-03
  • 打赏
  • 举报
回复
public static string convertExtendedASCII(string sourceHtmlTest)
        {
            string result = string.Empty;
            try
            {
                StringBuilder str = new StringBuilder();
                char c;
                for (int i = 0; i < sourceHtmlTest.Length; i++)
                {
                    c = sourceHtmlTest[i];
                    if (Convert.ToInt32(c) > 127)
                    {
                        str.Append("&#" + Convert.ToInt32(c) + ";");
                    }
                    else
                    {
                        str.Append(c);
                    }
                }
                result = str.ToString();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }
            return result;
        }
Poopaye 2015-12-02
  • 打赏
  • 举报
回复

那很可能是字体问题了
john121bank 2015-12-02
  • 打赏
  • 举报
回复
MainChg.Rows[0].Cells[col].Value 是什么类型,如果不是字符型。
Sekihin 2015-12-02
  • 打赏
  • 举报
回复
最好用UTF-8
xuzuning 2015-12-02
  • 打赏
  • 举报
回复
在简体中文的环境中显示日文字体? 既然你已知日文是 cp932,那么你把它转成 cp936 就是了
sosoben 2015-12-02
  • 打赏
  • 举报
回复
引用 2 楼 u013618777 的回复:
[quote=引用 1 楼 starfd 的回复:] 你的页面支持的chatset是什么,然后配置里面的输出语言设置的什么? http://blog.unvs.cn/archives/net-code-webconfig.html
哦,忘了说,我做的是Winform窗体
if ("グレー" == MainChg.Rows[0].Cells[col].Value) MessageBox.Show("true");
像我这样判断,它也进不去,但是通过设置断点内容是一样的,不知道为什么[/quote] 你这句什么意思啊? 就是运行时进不去,但设断点又能进去? 还是说看上去是一样,但实际不一样啊(全半角?有特殊符号?) 我觉得显示出口口的问题也是你的字体没有那个字,你选用些日文字库试试
crystal_lz 2015-12-02
  • 打赏
  • 举报
回复
引用 6 楼 u013618777 的回复:
[quote=引用 5 楼 crystal_lz 的回复:] 内容是对的 显示是乱码 那是由八九 控件上使用的字体编码不全。。
你的意思是说我那个datagridview控件的问题?[/quote] 不是控件有问题 是控件使用的字体有问题 就好比 如果你选择一个因为字体 却用来显示汉字 他肯定是显示不全的 因为他字体里面 就包含了 26 个字母的大小写 和一些符号而已。。你选个日文字体 估计就能显示全了 宋体什么的 不知道里面包含日文不。。。
crystal_lz 2015-12-02
  • 打赏
  • 举报
回复
引用 14 楼 crystal_lz 的回复:
[quote=引用 6 楼 u013618777 的回复:] [quote=引用 5 楼 crystal_lz 的回复:] 内容是对的 显示是乱码 那是由八九 控件上使用的字体编码不全。。
你的意思是说我那个datagridview控件的问题?[/quote] 不是控件有问题 是控件使用的字体有问题 就好比 如果你选择一个因为字体 却用来显示汉字 他肯定是显示不全的 因为他字体里面 就包含了 26 个字母的大小写 和一些符号而已。。你选个日文字体 估计就能显示全了 宋体什么的 不知道里面包含日文不。。。[/quote] 这得看 字体的设计者 在里面都包含了什么样子的字符
u013618777 2015-12-01
  • 打赏
  • 举报
回复
引用 11 楼 shingoscar 的回复:
[quote=引用 9 楼 u013618777 的回复:] 从数据库读取也是正常
这个正常是怎么知道的? 有调试时vs里看也正常吗?[/quote] 是的啊
u013618777 2015-12-01
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
你的页面支持的chatset是什么,然后配置里面的输出语言设置的什么? http://blog.unvs.cn/archives/net-code-webconfig.html
哦,忘了说,我做的是Winform窗体
if ("グレー" == MainChg.Rows[0].Cells[col].Value) MessageBox.Show("true");
像我这样判断,它也进不去,但是通过设置断点内容是一样的,不知道为什么
Poopaye 2015-12-01
  • 打赏
  • 举报
回复
引用 9 楼 u013618777 的回复:
从数据库读取也是正常
这个正常是怎么知道的? 有调试时vs里看也正常吗?
  • 打赏
  • 举报
回复
你的页面支持的chatset是什么,然后配置里面的输出语言设置的什么? http://blog.unvs.cn/archives/net-code-webconfig.html
u013618777 2015-12-01
  • 打赏
  • 举报
回复
引用 8 楼 ShelleyLiu0415 的回复:
请确认一下你txt文件的格式是用什么编码的,是UTF8吗?
txt是ANSI保存好的资料,然后我通过编码935(日文)这样保存到数据库(nvarchar),数据库查看都是可以的,查找出来,用断点看也是正常,显示到datagridview上就不行了,一部分日文是‘口口口口’这样
u013618777 2015-12-01
  • 打赏
  • 举报
回复
引用 7 楼 shingoscar 的回复:
你要先确定哪里的编码出现了问题
txt文本文档是ANSI编码的,然后我用日文935编码保存到数据库(nvarchar)显示都正常,从数据库读取也是正常,但是显示到datagridview上面,有一部分日文就是’口口口口‘这样子
  • 打赏
  • 举报
回复
请确认一下你txt文件的格式是用什么编码的,是UTF8吗?
Poopaye 2015-12-01
  • 打赏
  • 举报
回复
你要先确定哪里的编码出现了问题
u013618777 2015-12-01
  • 打赏
  • 举报
回复
引用 5 楼 crystal_lz 的回复:
内容是对的 显示是乱码 那是由八九 控件上使用的字体编码不全。。
你的意思是说我那个datagridview控件的问题?
crystal_lz 2015-12-01
  • 打赏
  • 举报
回复
内容是对的 显示是乱码 那是由八九 控件上使用的字体编码不全。。
u013618777 2015-12-01
  • 打赏
  • 举报
回复
引用 3 楼 ShelleyLiu0415 的回复:
编码格式用UTF8也会导致乱码吗?
是的啊,我觉得很奇怪
加载更多回复(1)

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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