Как я выписываю текстовый файл в C# с кодовой страницей кроме UTF-8?

Ошибка синтаксиса: ошибка синтаксиса, неожиданный T_VARIABLE

Возможный сценарий

Я не могу найти, где мой код поступил не так. Вот моя полная ошибка:

Ошибка анализа: ошибка синтаксиса, неожиданный T_VARIABLE в строке x

Что я пытаюсь

$sql = 'SELECT * FROM dealer WHERE id="'$id.'"';

Ответ

Ошибка анализа: проблема с синтаксисом вашей программы, например, оставляя точку с запятой от конца инструкции или, как и в случае выше, пропускает оператор ..

Простыми словами это синтаксическая ошибка, означающая, что в вашем коде есть что-то, что помешает правильному анализу и поэтому работает.

Что вам нужно сделать, так это внимательно проверить строки, где ошибка для любых простых ошибок.

Это сообщение об ошибке означает, что в строке x файла интерпретатор PHP ожидал увидеть открытую круглую скобку, но вместо этого он встретил нечто, называемое T_VARIABLE. Эта вещь T_VARIABLE называется token. Это способ интерпретации PHP-интерпретатора различных фундаментальных частей программ. Когда интерпретатор читает в программе, он переводит то, что вы написали, в список токенов. Где бы вы ни разместили переменную в своей программе, в списке интерпретатора есть токен T_VARIABLE.

Хорошо читается: Список токенов парсера

So убедитесь, что вы включили хотя бы E_PARSE в своем php.ini. Ошибки анализа не должны существовать в производственных сценариях.

Я всегда рекомендовал добавить следующий оператор при кодировании:

error_reporting(E_ALL);

Отчет об ошибках PHP

Также неплохо использовать среду IDE, которая позволит вам знать ошибки разбора при наборе текста. Вы можете использовать:

  1. NetBeans (прекрасный мир красоты, бесплатное программное обеспечение) (лучший, на мой взгляд)
  2. PhpStorm (дядя Гордон любит это: P, платный план, содержит проприетарное и бесплатное программное обеспечение)
  3. Eclipse (красота и зверь, бесплатное программное обеспечение)

Вопросы, относящиеся:

52
задан Peter Mortensen 24 June 2017 в 10:34
поделиться

4 ответа

using System.IO;
using System.Text;

using (StreamWriter sw = new StreamWriter(File.Open(myfilename, FileMode.Create), Encoding.WhateverYouWant))
{    
    sw.WriteLine("my text...");     
}

альтернативный способ получить Ваше кодирование:

using System.IO;
using System.Text;

using (var sw  = new StreamWriter(File.Open(@"c:\myfile.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1"))) {
    sw.WriteLine("my text...");             
}

Выезд документы для конструктора StreamWriter.

80
ответ дан Dave Markle 7 November 2019 в 09:16
поделиться

Простой!

System.IO.File.WriteAllText(path, text, Encoding.GetEncoding(28591));
30
ответ дан Johann Gerell 7 November 2019 в 09:16
поделиться

Измените Кодирование потокового писателя. Это - свойство.

http://msdn.microsoft.com/en-us/library/system.io.streamwriter.encoding.aspx

Так:

sw.Encoding = Encoding.GetEncoding(28591);

До записи в поток.

-4
ответ дан Steven Behnke 7 November 2019 в 09:16
поделиться

У Вас может быть что-то вроде этого

 switch (EncodingFormat.Trim().ToLower())
    {
        case "utf-8":
            File.WriteAllBytes(fileName, ASCIIEncoding.Convert(ASCIIEncoding.ASCII, new UTF8Encoding(false), convertToCSV(result, fileName)));
            break;
        case "utf-8+bom":
            File.WriteAllBytes(fileName, ASCIIEncoding.Convert(ASCIIEncoding.ASCII, new UTF8Encoding(true), convertToCSV(result, fileName)));
            break;
        case "ISO-8859-1":
            File.WriteAllBytes(fileName, ASCIIEncoding.Convert(ASCIIEncoding.ASCII, Encoding.GetEncoding("iso-8859-1"), convertToCSV(result, fileName)));
            break;
        case ..............
    }
0
ответ дан 7 November 2019 в 09:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: