打印 UTF-8 QR 代码显示变音符号的特殊字符
Printing UTF-8 QR-Codes shows special characters for Umlauts
我正在尝试在我的 C# 应用程序中使用列表和标签以 UTF-8 编码输出二维码。这正是我的客户所需要的。
很遗憾,客户的扫描仪只显示特殊字符。我找不到设置输出字符集的选项。 LL_OPTION_SAVE_PROJECT_IN_UTF8 好像没有效果。我也试过设置LL_OPTION_CODEPAGE也没用
如何将二维码输出为UTF-8?
二维码本身没有固定的编码方式。您可以尝试使用
设置 ECI
LL.Core.LlXSetParameter(LlExtensionType.Barcode, "QRCode", "ECI", "0000026");
根据扫描仪类型,这可能有用也可能没用。为了确保 UTF-8 编码内容,您应该逐字节传递它们——这可以避免传递和呈现之间的任何问题。处理此工作的设计器扩展功能将像这样连接:
评估代码为:
private void designerFunction1_EvaluateFunction(object sender, EvaluateFunctionEventArgs e)
{
string input = e.Parameter1.ToString();
var utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(input);
StringBuilder barcodeContent = new StringBuilder();
foreach (byte b in utfBytes)
{
barcodeContent.AppendFormat("~d{0:000}", b);
}
e.ResultValue = barcodeContent.ToString();
e.ResultType = LlParamType.String;
}
然后将 EncodeAsUTF8 用于您的条形码内容,您应该没问题。
我正在尝试在我的 C# 应用程序中使用列表和标签以 UTF-8 编码输出二维码。这正是我的客户所需要的。
很遗憾,客户的扫描仪只显示特殊字符。我找不到设置输出字符集的选项。 LL_OPTION_SAVE_PROJECT_IN_UTF8 好像没有效果。我也试过设置LL_OPTION_CODEPAGE也没用
如何将二维码输出为UTF-8?
二维码本身没有固定的编码方式。您可以尝试使用
设置 ECILL.Core.LlXSetParameter(LlExtensionType.Barcode, "QRCode", "ECI", "0000026");
根据扫描仪类型,这可能有用也可能没用。为了确保 UTF-8 编码内容,您应该逐字节传递它们——这可以避免传递和呈现之间的任何问题。处理此工作的设计器扩展功能将像这样连接:
评估代码为:
private void designerFunction1_EvaluateFunction(object sender, EvaluateFunctionEventArgs e)
{
string input = e.Parameter1.ToString();
var utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(input);
StringBuilder barcodeContent = new StringBuilder();
foreach (byte b in utfBytes)
{
barcodeContent.AppendFormat("~d{0:000}", b);
}
e.ResultValue = barcodeContent.ToString();
e.ResultType = LlParamType.String;
}
然后将 EncodeAsUTF8 用于您的条形码内容,您应该没问题。