DirectorySeparatorChar.ToString()未在日本文化中显示“日元”字符

时间:2014-07-18 11:29:24

标签: c# wpf internationalization

一个文本块,它将显示卷名,冒号,目录字符分隔符。 在英语文化中,它将显示C:\,在日本文化中,它将显示C:'Yen'

View.XAML文件:

<TextBlock Text="{Binding VolumeNameString, Mode=OneWay}"/>

ViewModel.cs文件:

public string VolumeName
    {
        get
        {
            return m_volumeName;
        }

        private set
        {
            if (m_volumeName != value)
            {
                m_volumeName = value;
                OnPropertyChanged("VolumeNameString");
            }
        }
    }

public string VolumeNameString
    {
        get
        {
            return (this.VolumeName + ":" + System.IO.Path.DirectorySeparatorChar.ToString(CultureInfo.CurrentCulture));
        }
    }

问题出在日本文化中,它仍显示C:\而未显示C:'Yen' &#39;颜&#39;这里是日元符号。我尝试使用日语操作系统,但问题仍然存在。

我在这里做错了吗?应用程序在.NET 3.5上创建。

1 个答案:

答案 0 :(得分:0)

您如何查看结果字符串?如果您使用的是Unicode,它将显示为反斜杠。只有你使用日语字符集,比如shift-jis,你会看到&#34; yen&#34;而不是符号。

这是ascii表和shift-jis表: http://en.wikipedia.org/wiki/Shift-JIS http://www.ascii-code.com/

注意shift-jis中ascii和yen的反斜杠是否都在5C位置。所以分隔符代码点实际上是相同的,它只是使它以不同方式显示的字符集。